home *** CD-ROM | disk | FTP | other *** search
/ Aminet 37 / Aminet 37 (2000)(Schatztruhe)[!][Jun 2000].iso / Aminet / dev / lang / sofa.lha / sofa / smalleiffel / bin_c / compile_to_c5.c < prev    next >
C/C++ Source or Header  |  2000-03-25  |  101KB  |  4,168 lines

  1. /*
  2. -- ANSI C code generated by :
  3. -- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.76Beta#1)--
  4. -- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
  5. -- Dominique COLNET and Suzanne COLLIN -    colnet@loria.fr     --
  6. --                  http://SmallEiffel.loria.fr/                --
  7. */
  8. #include "compile_to_c.h"
  9.  
  10.  
  11. void r260standard_gc_define2(T260* C){
  12. T6 _gc_check_id=0;
  13. T2 _rcid=0;
  14. T0* _rc=NULL;
  15. _rc=r260run_class(C);
  16. _rcid=(/*RF2*/(((T50*)_rc))->_id/*4*/);
  17. r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms14_1736a));
  18. r7extend((T7*)(((T0*)ms52_783104a)),((T3)'\40'));
  19. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms14_11416));
  20. r2append_in(_rcid,((T0*)ms52_783104a));
  21. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms52_6360));
  22. r7copy((T7*)(((T0*)ms52_3073536)),((T0*)ms52_404));
  23. r2append_in(_rcid,((T0*)ms52_3073536));
  24. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_69075));
  25. r2append_in(_rcid,((T0*)ms52_3073536));
  26. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_361836));
  27. r260gc_store_in(C,((T0*)ms52_3073536));
  28. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_94205));
  29. r344memory_dispose(((T0*)ms52_3073536),((T0*)ms52_320),r260run_class(C));
  30. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_21552));
  31. r260gc_free_in(C,((T0*)ms52_3073536));
  32. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms14_138));
  33. r260gc_free_in(C,((T0*)ms52_3073536));
  34. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_407960));
  35. r344memory_dispose(((T0*)ms52_3073536),((T0*)ms52_322),r260run_class(C));
  36. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_1591218));
  37. r260gc_free_in(C,((T0*)ms52_3073536));
  38. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms14_138));
  39. r260gc_free_in(C,((T0*)ms52_3073536));
  40. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_14102));
  41. r325put_c_function((T325*)(oBC13cpp),((T0*)ms52_783104a),((T0*)ms52_3073536));
  42. r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms14_1736a));
  43. r7extend((T7*)(((T0*)ms52_783104a)),((T3)'\40'));
  44. r260gc_mark_in(C,((T0*)ms52_783104a));
  45. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms52_248a));
  46. r2append_in(_rcid,((T0*)ms52_783104a));
  47. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms52_582));
  48. /*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms52_3073536)))))->_count)=(0);
  49. /*]*/
  50. _gc_check_id=(r50is_tagged(((T50*)_rc)))&&(r47no_check((T47*)(oBC13run_control)));
  51. /*[IF*/
  52. if(_gc_check_id){
  53. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_21437));
  54. r2append_in(_rcid,((T0*)ms52_3073536));
  55. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_932));
  56. }
  57. /*FI]*/
  58. r50gc_mark_fixed_size(((T50*)_rc),0,((T0*)ms52_3073536));
  59. /*[IF*/
  60. if(_gc_check_id){
  61. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_270));
  62. }
  63. /*FI]*/
  64. r325put_c_function((T325*)(oBC13cpp),((T0*)ms52_783104a),((T0*)ms52_3073536));
  65. r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms14_1736a));
  66. r7extend((T7*)(((T0*)ms52_783104a)),((T3)'\40'));
  67. r260gc_align_mark_in(C,((T0*)ms52_783104a));
  68. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms52_14570));
  69. r2append_in(_rcid,((T0*)ms52_783104a));
  70. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms52_585));
  71. /*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms52_3073536)))))->_count)=(0);
  72. /*]*/
  73. r50gc_align_mark_fixed_size(((T50*)_rc),((T0*)ms52_3073536));
  74. r325put_c_function((T325*)(oBC13cpp),((T0*)ms52_783104a),((T0*)ms52_3073536));
  75. r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms52_5346));
  76. r2append_in(_rcid,((T0*)ms52_783104a));
  77. r7copy((T7*)(((T0*)ms52_3073536)),((T0*)ms52_454797));
  78. r2append_in(_rcid,((T0*)ms52_3073536));
  79. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_78075));
  80. r2append_in(_rcid,((T0*)ms52_3073536));
  81. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_356700));
  82. r2append_in(_rcid,((T0*)ms52_3073536));
  83. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_5802));
  84. r325put_extern5((T325*)(oBC13cpp),((T0*)ms52_783104a),((T0*)ms52_3073536));
  85. /*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms52_783104a)))))->_count)=(0);
  86. /*]*/
  87. r7extend((T7*)(((T0*)ms52_783104a)),((T3)'T'));
  88. r2append_in(_rcid,((T0*)ms52_783104a));
  89. r7extend((T7*)(((T0*)ms52_783104a)),((T3)'\52'));
  90. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms14_990));
  91. r2append_in(_rcid,((T0*)ms52_783104a));
  92. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms14_4320));
  93. r7copy((T7*)(((T0*)ms52_3073536)),((T0*)ms14_404));
  94. r2append_in(_rcid,((T0*)ms52_3073536));
  95. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_884));
  96. /*[IF*/
  97. if((/*RF2*/((T344*)(oBC13gc_handler))->_info_flag/*1*/)){
  98. r260gc_info_nb_in(C,((T0*)ms52_3073536));
  99. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_620));
  100. }
  101. /*FI]*/
  102. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_741));
  103. r260gc_store_left_in(C,((T0*)ms52_3073536));
  104. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_1425));
  105. r260gc_store_left_in(C,((T0*)ms52_3073536));
  106. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_3810));
  107. r260gc_store_in(C,((T0*)ms52_3073536));
  108. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_13200));
  109. r260gc_free_in(C,((T0*)ms52_3073536));
  110. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_11044));
  111. r260gc_free_in(C,((T0*)ms52_3073536));
  112. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms14_138));
  113. r260gc_free_in(C,((T0*)ms52_3073536));
  114. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_39474));
  115. r260gc_store_left_in(C,((T0*)ms52_3073536));
  116. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_2370));
  117. r260gc_store_left_in(C,((T0*)ms52_3073536));
  118. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_712));
  119. r260gc_store_chunk_in(C,((T0*)ms52_3073536));
  120. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_103626));
  121. r260gc_store_in(C,((T0*)ms52_3073536));
  122. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_11760));
  123. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_11024));
  124. r260gc_store_chunk_in(C,((T0*)ms52_3073536));
  125. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_23640));
  126. r260gc_initialize_chunk(C,_rcid,((T0*)ms52_3073536));
  127. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_31806));
  128. r260gc_store_chunk_in(C,((T0*)ms52_3073536));
  129. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_1694883));
  130. r260gc_store_chunk_in(C,((T0*)ms52_3073536));
  131. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_51520));
  132. r260gc_store_chunk_in(C,((T0*)ms52_3073536));
  133. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_816));
  134. r260gc_initialize_chunk(C,_rcid,((T0*)ms52_3073536));
  135. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_59265));
  136. r260gc_free_in(C,((T0*)ms52_3073536));
  137. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_1725));
  138. r260gc_free_in(C,((T0*)ms52_3073536));
  139. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms14_138));
  140. r260gc_free_in(C,((T0*)ms52_3073536));
  141. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_15800));
  142. r260gc_store_chunk_in(C,((T0*)ms52_3073536));
  143. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_8008));
  144. r260gc_initialize_chunk(C,_rcid,((T0*)ms52_3073536));
  145. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_21504));
  146. /*[IF*/
  147. {/*AT*/r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_14003));
  148. r2append_in(_rcid,((T0*)ms52_3073536));
  149. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms14_138));
  150. }
  151. /*FI]*/
  152. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_11862));
  153. r2append_in(_rcid,((T0*)ms52_3073536));
  154. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_2118));
  155. r325put_c_function((T325*)(oBC13cpp),((T0*)ms52_783104a),((T0*)ms52_3073536));
  156. }
  157.  
  158.  
  159. void r260with(T260* C,T0* a1,T0* a2,T0* a3){
  160. (/*SFN*/C->_base_class_name)=a1;
  161. r260set_generic_list_with(C,a3);
  162. (/*SFN*/C->_written_mark)=a2;
  163. {T260*n=((T260*)malloc(sizeof(*n))/*20*/);
  164. *n=M260;
  165. r260final(n,a1,X52run_type(a3));
  166. (/*SFN*/C->_run_type_memory)=((T0*)n);
  167. }
  168. }
  169.  
  170.  
  171. void r260c_header_pass4(T260* C){
  172. r260standard_c_struct(C);
  173. r260standard_c_object_model(C);
  174. r260standard_c_print_function(C);
  175. }
  176.  
  177.  
  178. T0* r260to_runnable(T260* C,T0* a1){
  179. T0* R=NULL;
  180. T0* _et2=NULL;
  181. T0* _et1=NULL;
  182. _et1=/*(IRF4.6array_of*//*(IRF4.6first*/((/*RF2*/(((T258*)((/*RF2*/(C)->_generic_list/*8*/))))->_storage/*0*/))[0]/*)*//*)*/;
  183. _et2=X52to_runnable(_et1,a1);
  184. /*[IF*/
  185. if((_et2)==((void*)(NULL))){
  186. /*[IF*/
  187. if((_et2)!=((void*)(NULL))){
  188. {T68 se_tmp0;
  189. r66add_position((*(se_tmp0=X52start_position(_et2),&se_tmp0)));
  190. }
  191. }
  192. /*FI]*/
  193. {T68 se_tmp0;
  194. r66add_position((*(se_tmp0=X52start_position(_et1),&se_tmp0)));
  195. }
  196. r260fatal_error(((T0*)ms14_28644));
  197. }
  198. /*FI]*/
  199. /*[IF*/
  200. if(((/*RF2*/(C)->_run_type_memory/*16*/))==((void*)(NULL))){
  201. R=((T0*)(C));
  202. /*[IF*/
  203. if((X52run_type(_et2))==((void*)(_et1))){
  204. (/*SFN*/C->_run_type_memory)=((T0*)(C));
  205. }
  206. else{
  207. {T260*n=((T260*)malloc(sizeof(*n))/*20*/);
  208. *n=M260;
  209. r260final(n,(/*RF2*/(C)->_base_class_name/*4*/),X52run_type(_et2));
  210. (/*SFN*/C->_run_type_memory)=((T0*)n);
  211. }
  212. }
  213. /*FI]*/
  214. }
  215.  else if((_et2)==((void*)(_et1))){
  216. R=((T0*)(C));
  217. }
  218. else{
  219. {T260*n=((T260*)malloc(sizeof(*n))/*20*/);
  220. *n=M260;
  221. r260with(n,(/*RF2*/(C)->_base_class_name/*4*/),(/*RF2*/(C)->_written_mark/*12*/),_et2);
  222. R=((T0*)n);
  223. }
  224. }
  225. /*FI]*/
  226. return R;
  227. }
  228.  
  229.  
  230. void r260standard_gc_define1(T260* C){
  231. T2 _rcid=0;
  232. T0* _rc=NULL;
  233. _rc=r260run_class(C);
  234. _rcid=(/*RF2*/(((T50*)_rc))->_id/*4*/);
  235. r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms14_6448));
  236. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms14_5495));
  237. r7extend((T7*)(((T0*)ms52_783104a)),((T3)'B'));
  238. r2append_in(_rcid,((T0*)ms52_783104a));
  239. r7extend((T7*)(((T0*)ms52_783104a)),((T3)'\40'));
  240. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms14_404));
  241. r2append_in(_rcid,((T0*)ms52_783104a));
  242. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms14_138));
  243. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms14_5495));
  244. r7extend((T7*)(((T0*)ms52_783104a)),((T3)'B'));
  245. r2append_in(_rcid,((T0*)ms52_783104a));
  246. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms52_414));
  247. r2append_in(_rcid,((T0*)ms52_783104a));
  248. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms52_78572));
  249. r2append_in(_rcid,((T0*)ms52_783104a));
  250. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms52_12042));
  251. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms52_783104a));
  252. /*]*/
  253. r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms14_404));
  254. r2append_in(_rcid,((T0*)ms52_783104a));
  255. r7extend((T7*)(((T0*)ms52_783104a)),((T3)'\52'));
  256. r260gc_store_in(C,((T0*)ms52_783104a));
  257. r325put_extern5((T325*)(oBC13cpp),((T0*)ms52_783104a),((T0*)ms14_1260));
  258. r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms14_993));
  259. r7extend((T7*)(((T0*)ms52_783104a)),((T3)'\40'));
  260. r260gc_store_left_in(C,((T0*)ms52_783104a));
  261. r325put_extern2((T325*)(oBC13cpp),((T0*)ms52_783104a),((T3)'0'));
  262. r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms52_2345));
  263. r260gc_store_chunk_in(C,((T0*)ms52_783104a));
  264. r325put_extern5((T325*)(oBC13cpp),((T0*)ms52_783104a),((T0*)ms14_1260));
  265. r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms14_404));
  266. r2append_in(_rcid,((T0*)ms52_783104a));
  267. r7extend((T7*)(((T0*)ms52_783104a)),((T3)'\52'));
  268. r260gc_free_in(C,((T0*)ms52_783104a));
  269. r325put_extern5((T325*)(oBC13cpp),((T0*)ms52_783104a),((T0*)ms14_1260));
  270. /*[IF*/
  271. if((/*RF2*/((T344*)(oBC13gc_handler))->_info_flag/*1*/)){
  272. r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms14_993));
  273. r7extend((T7*)(((T0*)ms52_783104a)),((T3)'\40'));
  274. r260gc_info_nb_in(C,((T0*)ms52_783104a));
  275. r325put_extern2((T325*)(oBC13cpp),((T0*)ms52_783104a),((T3)'0'));
  276. }
  277. /*FI]*/
  278. }
  279.  
  280.  
  281. void r260id_extra_information(T0* a1){
  282. r48put_string(((T48*)a1),((T0*)ms52_9724));
  283. /*[IF*/
  284. {/*AT*/r48put_string(((T48*)a1),((T0*)ms52_1476));
  285. }
  286. /*FI]*/
  287. }
  288.  
  289.  
  290. void r260standard_just_before_gc_mark_in(T260* C,T0* a1){
  291. r260gc_free_in(C,a1);
  292. r7extend(((T7*)a1),((T3)'\75'));
  293. r7append(((T7*)a1),((T0*)ms14_1260));
  294. r7append(((T7*)a1),((T0*)ms14_138));
  295. }
  296.  
  297.  
  298. void r260gc_mark_in(T260* C,T0* a1){
  299. r7append(((T7*)a1),((T0*)ms14_8764));
  300. r2append_in(r260id(C),a1);
  301. }
  302.  
  303.  
  304. void r260gc_info_nb_in(T260* C,T0* a1){
  305. r7append(((T7*)a1),((T0*)ms52_14920));
  306. r2append_in(r260id(C),a1);
  307. }
  308.  
  309.  
  310. void r260c_type_for_external_in(T0* a1){
  311. /*[IF*/
  312. {/*AT*/r7append(((T7*)a1),((T0*)ms14_1736a));
  313. r7extend(((T7*)a1),((T3)'\52'));
  314. }
  315. /*FI]*/
  316. }
  317.  
  318.  
  319. T0* r260run_time_mark(T260* C){
  320. T0* R=NULL;
  321. /*[IF*/
  322. if(r260is_run_type(C)){
  323. R=X52written_mark(r260run_type(C));
  324. }
  325. /*FI]*/
  326. return R;
  327. }
  328.  
  329.  
  330. void r260gc_store_in(T260* C,T0* a1){
  331. r7append(((T7*)a1),((T0*)ms52_2785));
  332. r2append_in(r260id(C),a1);
  333. }
  334.  
  335.  
  336. T0* r260run_class(T260* C){
  337. T0* R=NULL;
  338. /*[IF*/
  339. if(r260is_run_type(C)){
  340. R=r49run_class(r260run_type(C));
  341. }
  342. /*FI]*/
  343. return R;
  344. }
  345.  
  346.  
  347. void r260final(T260* C,T0* a1,T0* a2){
  348. (/*SFN*/C->_base_class_name)=a1;
  349. r260set_generic_list_with(C,a2);
  350. r7copy((T7*)(oBC260tmp_written_mark),((T0*)ms15_1915));
  351. r7extend((T7*)(oBC260tmp_written_mark),((T3)'\133'));
  352. r7append((T7*)(oBC260tmp_written_mark),X52written_mark(a2));
  353. r7extend((T7*)(oBC260tmp_written_mark),((T3)'\135'));
  354. (/*SFN*/C->_written_mark)=((/*UT*/(void)((T21*)(r260string_aliaser()))),r21item(oBC260tmp_written_mark));
  355. (/*SFN*/C->_run_type_memory)=((T0*)(C));
  356. }
  357.  
  358.  
  359. void r260fatal_error(T0* a1){
  360. /*[IRF3.6append*/{T0* b1=a1;
  361. r7append((T7*)(oBC66explanation),b1);
  362. }/*]*/
  363. r66print_as_fatal_error((T66*)(oBC13eh));
  364. }
  365.  
  366.  
  367. void r260c_type_for_target_in(T260* C,T0* a1){
  368. r7extend(((T7*)a1),((T3)'T'));
  369. r2append_in(r260id(C),a1);
  370. r7extend(((T7*)a1),((T3)'\52'));
  371. }
  372.  
  373.  
  374. T6 r260stupid_switch(T260* C,T0* a1){
  375. T6 R=0;
  376. R=X52stupid_switch(/*(IRF4.6first*/((/*RF2*/((T258*)((/*RF2*/(C)->_generic_list/*8*/)))->_storage/*0*/))[0]/*)*/,a1);
  377. return R;
  378. }
  379.  
  380.  
  381. void r260demangling_in(T260* C,T0* a1){
  382. /*[IF*/
  383. {/*AT*/r7extend(((T7*)a1),((T3)'R'));
  384. }
  385. /*FI]*/
  386. r7extend(((T7*)a1),((T3)'\40'));
  387. r7append(((T7*)a1),r260run_time_mark(C));
  388. }
  389.  
  390.  
  391. void r260gc_initialize_chunk(T260* C,T2 a1,T0* a2){
  392. r7extend(((T7*)a2),((T3)'\52'));
  393. r260gc_store_chunk_in(C,a2);
  394. r7append(((T7*)a2),((T0*)ms14_266a));
  395. r2append_in(a1,a2);
  396. r7append(((T7*)a2),((T0*)ms14_138));
  397. r260gc_store_in(C,a2);
  398. r7append(((T7*)a2),((T0*)ms52_1715));
  399. r2append_in(a1,a2);
  400. r7append(((T7*)a2),((T0*)ms52_1005));
  401. r260gc_store_chunk_in(C,a2);
  402. r7append(((T7*)a2),((T0*)ms52_11742));
  403. r260gc_store_left_in(C,a2);
  404. r7append(((T7*)a2),((T0*)ms14_266a));
  405. r2append_in(a1,a2);
  406. r7append(((T7*)a2),((T0*)ms52_34060));
  407. r260gc_store_in(C,a2);
  408. r7append(((T7*)a2),((T0*)ms52_2040));
  409. }
  410.  
  411.  
  412. void r260c_frame_descriptor(T260* C){
  413. r7extend((T7*)(oBC13c_frame_descriptor_format),((T3)'\45'));
  414. /*[IF*/
  415. {/*AT*/r7extend((T7*)(oBC13c_frame_descriptor_format),((T3)'R'));
  416. }
  417. /*FI]*/
  418. r2append_in(r260id(C),oBC13c_frame_descriptor_format);
  419. r7extend((T7*)(oBC13c_frame_descriptor_format),((T3)'\45'));
  420. }
  421.  
  422.  
  423. void r293c_mapping_procedure(T0* a1,T0* a2,T0* a3){
  424. /*[IF*/
  425. if(r47boost((T47*)(oBC13run_control))){
  426. r293c_mapping_external((/*RF2*/(((T337*)a1))->_base_feature/*24*/),r337arg_count(((T337*)a1)));
  427. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_138));
  428. /*]*/
  429. }
  430. else{
  431. r337default_mapping_procedure(((T337*)a1));
  432. }
  433. /*FI]*/
  434. }
  435.  
  436.  
  437. void r293c_mapping_function(T0* a1,T0* a2,T0* a3){
  438. /*[IF*/
  439. if(r47boost((T47*)(oBC13run_control))){
  440. r293c_mapping_external((/*RF2*/(((T333*)a1))->_base_feature/*24*/),r333arg_count(((T333*)a1)));
  441. }
  442. else{
  443. r333default_mapping_function(((T333*)a1));
  444. }
  445. /*FI]*/
  446. }
  447.  
  448.  
  449. void r293standard_c_define_procedure(T0* a1,T0* a2,T0* a3){
  450. /*[IF*/
  451. {/*AT*//*[IRF3.6c_prototype*/{T337* C1=((T337*)a1);
  452. r337external_prototype(C1,(/*RF2*/(C1)->_base_feature/*24*/));
  453. }/*]*/
  454. }
  455. /*FI]*/
  456. /*[IF*/
  457. if(r47no_check((T47*)(oBC13run_control))){
  458. /*[IRF3.3clear*/((((T7*)((T7*)(oBC288body))))->_count)=(0);
  459. /*]*/
  460. r293wrapped_external_call((/*RF2*/(((T337*)a1))->_base_feature/*24*/),r337arg_count(((T337*)a1)));
  461. r337c_define_with_body(((T337*)a1),oBC288body);
  462. }
  463. /*FI]*/
  464. }
  465.  
  466.  
  467. void r293standard_c_define_function(T0* a1,T0* a2,T0* a3){
  468. /*[IF*/
  469. {/*AT*//*[IRF3.6c_prototype*/{T333* C1=((T333*)a1);
  470. r333external_prototype(C1,(/*RF2*/(C1)->_base_feature/*24*/));
  471. }/*]*/
  472. }
  473. /*FI]*/
  474. /*[IF*/
  475. if(r47no_check((T47*)(oBC13run_control))){
  476. /*[IRF3.3clear*/((((T7*)((T7*)(oBC288body))))->_count)=(0);
  477. /*]*/
  478. r7extend((T7*)(oBC288body),((T3)'R'));
  479. r7extend((T7*)(oBC288body),((T3)'\75'));
  480. r293wrapped_external_call((/*RF2*/(((T333*)a1))->_base_feature/*24*/),r333arg_count(((T333*)a1)));
  481. r333c_define_with_body(((T333*)a1),oBC288body);
  482. }
  483. /*FI]*/
  484. }
  485.  
  486.  
  487. void r293wrapped_external_call(T0* a1,T2 a2){
  488. T2 _i=0;
  489. r7append((T7*)(oBC288body),/*SSFRF4*//*X289external_c_name*/r291external_c_name(((T291*)a1)));
  490. r7extend((T7*)(oBC288body),((T3)'\50'));
  491. /*[IF*/
  492. {/*AT*/r7extend((T7*)(oBC288body),((T3)'C'));
  493. /*[IF*/
  494. if((a2)>(0)){
  495. r7extend((T7*)(oBC288body),((T3)'\54'));
  496. }
  497. /*FI]*/
  498. }
  499. /*FI]*/
  500. _i=1;
  501. while (!((_i)>(a2)))
  502. {
  503. r7extend((T7*)(oBC288body),((T3)'a'));
  504. r2append_in(_i,oBC288body);
  505. _i=(_i)+(1);
  506. /*[IF*/
  507. if((_i)<=(a2)){
  508. r7extend((T7*)(oBC288body),((T3)'\54'));
  509. }
  510. /*FI]*/
  511. }
  512. r7append((T7*)(oBC288body),((T0*)ms14_330));
  513. }
  514.  
  515.  
  516. void r293c_mapping_external(T0* a1,T2 a2){
  517. T6 _tcbd=0;
  518. T6 _eruc=0;
  519. _eruc=/*(IRF4.2use_current*/(1)/*)*/;
  520. /*[IF*/
  521. if(!(_eruc)){
  522. _tcbd=r325target_cannot_be_dropped((T325*)(oBC13cpp));
  523. /*[IF*/
  524. if(_tcbd){
  525. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  526. T3 b1=((T3)'\54');
  527. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  528. }/*]*/
  529. /*]*/
  530. }
  531. /*FI]*/
  532. }
  533. /*FI]*/
  534. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),/*SSFRF4*//*X289external_c_name*/r291external_c_name(((T291*)a1)));
  535. /*]*/
  536. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  537. T3 b1=((T3)'\50');
  538. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  539. }/*]*/
  540. /*]*/
  541. /*[IF*/
  542. if(_eruc){
  543. r325put_target_as_value((T325*)(oBC13cpp));
  544. }
  545. /*FI]*/
  546. /*[IF*/
  547. if((a2)>(0)){
  548. /*[IF*/
  549. if(_eruc){
  550. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  551. T3 b1=((T3)'\54');
  552. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  553. }/*]*/
  554. /*]*/
  555. }
  556. /*FI]*/
  557. r325put_arguments((T325*)(oBC13cpp));
  558. }
  559. /*FI]*/
  560. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  561. T3 b1=((T3)'\51');
  562. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  563. }/*]*/
  564. /*]*/
  565. /*[IF*/
  566. if((!(_eruc))&&(_tcbd)){
  567. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  568. T3 b1=((T3)'\51');
  569. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  570. }/*]*/
  571. /*]*/
  572. }
  573. /*FI]*/
  574. }
  575. T0*oBC288body=NULL;
  576.  
  577.  
  578. T0* r165add_comment(T165* C,T0* a1){
  579. T0* R=NULL;
  580. /*[IF*/
  581. if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r44count(((T44*)((/*RF2*/(((T81*)a1))->_list/*8*/))))/*)*/)==(0))){
  582. R=((T0*)(C));
  583. }
  584. else{
  585. {T229*n=((T229*)malloc(sizeof(*n))/*12*/);
  586. *n=M229;
  587. r229make(n,(T0*)C,a1);
  588. R=((T0*)n);
  589. }
  590. }
  591. /*FI]*/
  592. return R;
  593. }
  594.  
  595.  
  596. T0* r165to_runnable(T165* C,T0* a1){
  597. T0* R=NULL;
  598. T0* _t=NULL;
  599. R=((T0*)(C));
  600. _t=r267to_runnable((T267*)(r165result_type()),a1);
  601. return R;
  602. }
  603.  
  604.  
  605. T0* r165to_real_constant(T165* C){
  606. T0* R=NULL;
  607. {T164*n=((T164*)malloc(sizeof(*n))/*16*/);
  608. *n=M164;
  609. r164make(n,(/*RF2*/(C)->_start_position/*4*/),r2to_string((/*RF2*/(C)->_value/*12*/)));
  610. R=((T0*)n);
  611. }
  612. return R;
  613. }
  614.  
  615.  
  616. void r165error(T68 a1,T0* a2){
  617. r66add_position(a1);
  618. /*[IRF3.6append*/{T0* b1=a2;
  619. r7append((T7*)(oBC66explanation),b1);
  620. }/*]*/
  621. r66print_as_error((T66*)(oBC13eh));
  622. }
  623. T0*oBC165result_type=NULL;
  624. int fBC165result_type=0;
  625.  
  626.  
  627. T0* r165result_type(void){
  628. if(fBC165result_type==0){fBC165result_type=1;{
  629. T68 _unknown_position={NULL,0};
  630. {T267*n=((T267*)malloc(sizeof(*n))/*8*/);
  631. *n=M267;
  632. oBC165result_type=((T0*)n);
  633. r267make(n,_unknown_position);
  634. }
  635. }}
  636. return oBC165result_type;
  637. }
  638.  
  639.  
  640. void r165unary_minus(T165* C){
  641. (/*SFN*/C->_value)=-((/*RF2*/(C)->_value/*12*/));
  642. }
  643.  
  644.  
  645. T0* r165static_result_base_class(void){
  646. T0* R=NULL;
  647. R=r49get_class(((T0*)ms15_6643));
  648. return R;
  649. }
  650.  
  651.  
  652. void r165make(T165* C,T2 a1,T68 a2){
  653. (/*SFN*/C->_value)=a1;
  654. (/*SFN*/C->_start_position)=a2;
  655. }
  656.  
  657.  
  658. T2 r165isa_dca_inline_argument(void){
  659. T2 R=0;
  660. /*[IF*/
  661. {/*AT*/R=-(1);
  662. }
  663. /*FI]*/
  664. return R;
  665. }
  666. T0*oBC49parser_buffer_path=NULL;
  667.  
  668.  
  669. void r49register_sys_runtime_basic_of(T0* a1){
  670. T0* _package=NULL;
  671. _package=((T0*)ms49_44460);
  672. r7copy(((T7*)_package),a1);
  673. while (!((r7nb_occurrences(((T7*)_package),((T3)'\137')))==(1)))
  674. {
  675. r7remove_last(((T7*)_package),1);
  676. }
  677. /*[IF*/
  678. if(!(r31has((T31*)(oBC49basic_sys_runtime),_package))){
  679. _package=r7twin(((T7*)_package));
  680. r31add_last((T31*)(oBC49basic_sys_runtime),_package);
  681. }
  682. /*FI]*/
  683. }
  684. T0*oBC13type_string=NULL;
  685. int fBC13type_string=0;
  686.  
  687.  
  688. T0* r49type_string(void){
  689. if(fBC13type_string==0){fBC13type_string=1;{
  690. T68 _unknown_position={NULL,0};
  691. {T271*n=((T271*)malloc(sizeof(*n))/*8*/);
  692. *n=M271;
  693. oBC13type_string=((T0*)n);
  694. r271make(n,_unknown_position);
  695. }
  696. }}
  697. return oBC13type_string;
  698. }
  699.  
  700.  
  701. void r49warning(T68 a1,T0* a2){
  702. r66add_position(a1);
  703. /*[IRF3.6append*/{T0* b1=a2;
  704. r7append((T7*)(oBC66explanation),b1);
  705. }/*]*/
  706. r66print_as_warning((T66*)(oBC13eh));
  707. }
  708.  
  709.  
  710. T0* r49top_rf(T49* C){
  711. T0* R=NULL;
  712. R=X379item(oBC49stack_rf,(/*RF2*/(C)->_top/*11*/));
  713. return R;
  714. }
  715. T0*oBC49stack_rf=NULL;
  716.  
  717.  
  718. void r49incr_magic_count(T49* C){
  719. (/*SFN*/C->_magic_count)=((/*RF2*/(C)->_magic_count/*7*/))+(1);
  720. }
  721.  
  722.  
  723. T0* r49base_class(T49* C,T0* a1){
  724. T0* R=NULL;
  725. /*[IF*/
  726. if(r63has((T63*)(oBC49base_class_dictionary),(/*RF2*/(((T61*)a1))->_to_string/*8*/))){
  727. R=r63at((T63*)(oBC49base_class_dictionary),(/*RF2*/(((T61*)a1))->_to_string/*8*/));
  728. }
  729.  else if((/*RF2*/((T34*)(oBC13eiffel_parser))->_is_running/*2*/)){
  730. r49fatal_error(((T0*)ms49_70652));
  731. }
  732. else{
  733. /*[IF*/
  734. if(r49parser_buffer_for(C,(/*RF2*/(((T61*)a1))->_to_string/*8*/))){
  735. R=r34analyse_class((T34*)(oBC13eiffel_parser),a1);
  736. }
  737. /*FI]*/
  738. /*[IF*/
  739. if((R)==((void*)(NULL))){
  740. r66add_position((/*RF2*/(((T61*)a1))->_start_position/*0*/));
  741. r49fatal_error(((T0*)ms49_30744));
  742. }
  743. /*FI]*/
  744. }
  745. /*FI]*/
  746. return R;
  747. }
  748.  
  749.  
  750. T0* r49load_class(T49* C,T0* a1){
  751. T0* R=NULL;
  752. T0* _class_name=NULL;
  753. {T61*n=((T61*)malloc(sizeof(*n))/*12*/);
  754. *n=M61;
  755. /*[IRF3.3unknown_position*/((((T61*)(n)))->_to_string)=(a1);
  756. /*]*/
  757. _class_name=((T0*)n);
  758. }
  759. /*[IF*/
  760. if(r49parser_buffer_for(C,a1)){
  761. R=r34analyse_class((T34*)(oBC13eiffel_parser),_class_name);
  762. /*[IF*/
  763. if((R)==((void*)(NULL))){
  764. r49fatal_error(((T0*)ms49_23814));
  765. }
  766. /*FI]*/
  767. }
  768. else{
  769. r49fatal_error(((T0*)ms49_23814a));
  770. }
  771. /*FI]*/
  772. return R;
  773. }
  774. T0*oBC49loading_path=NULL;
  775. int fBC49loading_path=0;
  776.  
  777.  
  778. T0* r49loading_path(void){
  779. if(fBC49loading_path==0){fBC49loading_path=1;{
  780. {T44*n=((T44*)malloc(sizeof(*n))/*20*/);
  781. *n=M44;
  782. oBC49loading_path=((T0*)n);
  783. r44with_capacity(n,32,1);
  784. }
  785. r43read_loading_path_in((T43*)(r49system_tools()),oBC49loading_path);
  786. }}
  787. return oBC49loading_path;
  788. }
  789. T0*oBC13address_of_pool=NULL;
  790.  
  791.  
  792. T0* r49get_class(T0* a1){
  793. T0* R=NULL;
  794. T0* _class_name=NULL;
  795. /*[IF*/
  796. if(r63has((T63*)(oBC49base_class_dictionary),a1)){
  797. R=r63at((T63*)(oBC49base_class_dictionary),a1);
  798. }
  799. else{
  800. {T61*n=((T61*)malloc(sizeof(*n))/*12*/);
  801. *n=M61;
  802. /*[IRF3.3unknown_position*/((((T61*)(n)))->_to_string)=(a1);
  803. /*]*/
  804. _class_name=((T0*)n);
  805. }
  806. R=r61base_class(((T61*)_class_name));
  807. }
  808. /*FI]*/
  809. return R;
  810. }
  811. T0*oBC13echo=NULL;
  812.  
  813.  
  814. T0* r49memory_class_used(void){
  815. T0* R=NULL;
  816. /*[IF*/
  817. if(r63has((T63*)(oBC49base_class_dictionary),((T0*)ms15_5508))){
  818. R=r63at((T63*)(oBC49base_class_dictionary),((T0*)ms15_5508));
  819. }
  820. /*FI]*/
  821. return R;
  822. }
  823. T0*oBC49c_code=NULL;
  824. T0*oBC49registered_for_c_define=NULL;
  825. T0*oBC49tmp_tail=NULL;
  826. T0*oBC13parser_buffer=NULL;
  827. T0*oBC13cecil_pool=NULL;
  828.  
  829.  
  830. T6 r49is_tagged(T0* a1){
  831. T6 R=0;
  832. T0* _rc2=NULL;
  833. T0* _rcd=NULL;
  834. T0* _r=NULL;
  835. T2 _up=0;
  836. T2 _i=0;
  837. _i=1;
  838. _rcd=oBC49run_class_dictionary;
  839. _up=(/*RF2*/(((T55*)_rcd))->_count/*36*/);
  840. while (!((R)||((_i)>(_up))))
  841. {
  842. _rc2=r55item(((T55*)_rcd),_i);
  843. _r=(/*RF2*/(((T50*)_rc2))->_running/*9*/);
  844. /*[IF*/
  845. if((_r)==((void*)(NULL))){
  846. }
  847.  else if(r53fast_has(((T53*)_r),a1)){
  848. R=(r53count(((T53*)_r)))>(1);
  849. }
  850. /*FI]*/
  851. _i=(_i)+(1);
  852. }
  853. return R;
  854. }
  855.  
  856.  
  857. T6 r49string_at_run_time(void){
  858. T6 R=0;
  859. T0* _rc=NULL;
  860. /*[IF*/
  861. if(r55has((T55*)(oBC49run_class_dictionary),((T0*)ms15_4956))){
  862. _rc=r55at((T55*)(oBC49run_class_dictionary),((T0*)ms15_4956));
  863. R=(/*RF2*/(((T50*)_rc))->_at_run_time/*8*/);
  864. }
  865. /*FI]*/
  866. return R;
  867. }
  868. T0*oBC13eiffel_parser=NULL;
  869.  
  870.  
  871. void r49afd_check_deferred(T0* a1){
  872. /*[IF*/
  873. if(!(r385fast_has((T385*)(oBC49rf9_memory),a1))){
  874. r385add_last((T385*)(oBC49rf9_memory),a1);
  875. }
  876. /*FI]*/
  877. }
  878.  
  879.  
  880. void r49add_base_class(T49* C,T0* a1){
  881. T0* _name=NULL;
  882. _name=(/*RF2*/((T61*)((/*RF2*/(((T51*)a1))->_name/*18*/)))->_to_string/*8*/);
  883. r63put((T63*)(oBC49base_class_dictionary),a1,_name);
  884. r49incr_magic_count(C);
  885. }
  886. T0*oBC49rename_dictionary=NULL;
  887. int fBC49rename_dictionary=0;
  888.  
  889.  
  890. T0* r49rename_dictionary(T49* C){
  891. if(fBC49rename_dictionary==0){fBC49rename_dictionary=1;{
  892. T0* _short_name=NULL;
  893. T0* _full_name=NULL;
  894. T2 _i=0;
  895. {T23*n=((T23*)malloc(sizeof(*n))/*36*/);
  896. *n=M23;
  897. oBC49rename_dictionary=((T0*)n);
  898. /*[IRF3.4make*/r23with_capacity(n,32);
  899. /*]*/
  900. }
  901. _i=1;
  902. while (!((_i)>((/*RF2*/((T44*)(r49loading_path()))->_upper/*12*/))))
  903. {
  904. r7copy((T7*)(oBC13tmp_path),r44item((T44*)(r49loading_path()),_i));
  905. r7append((T7*)(oBC13tmp_path),((T0*)ms49_12960));
  906. r35sfr_connect((T35*)(oBC13echo),oBC13tmp_file_read,oBC13tmp_path);
  907. /*[IF*/
  908. if(/*(IRF4.7is_connected*/((/*RF2*/((T40*)(oBC13tmp_file_read))->_path/*1*/))!=(NULL)/*)*/){
  909. while (!(r40end_of_input((T40*)(oBC13tmp_file_read))))
  910. {
  911. r40read_word((T40*)(oBC13tmp_file_read));
  912. _full_name=r7twin((T7*)(oBC41last_string));
  913. r40read_word((T40*)(oBC13tmp_file_read));
  914. _short_name=r7twin((T7*)(oBC41last_string));
  915. r7prepend(((T7*)_short_name),r44item((T44*)(r49loading_path()),_i));
  916. /*[IF*/
  917. if(r23has(((T23*)oBC49rename_dictionary),_full_name)){
  918. r35w_put_string(((T0*)ms49_24060));
  919. r35w_put_string(_full_name);
  920. r35w_put_string(((T0*)ms49_55332));
  921. r35w_put_string(_short_name);
  922. r35w_put_string(((T0*)ms49_5160));
  923. r35w_put_string(r23at(((T23*)oBC49rename_dictionary),_full_name));
  924. r35w_put_string(((T0*)ms49_112));
  925. exit(1);
  926. }
  927. /*FI]*/
  928. r23put(((T23*)oBC49rename_dictionary),_short_name,_full_name);
  929. r40skip_separators((T40*)(oBC13tmp_file_read));
  930. }
  931. r40disconnect((T40*)(oBC13tmp_file_read));
  932. }
  933. /*FI]*/
  934. _i=(_i)+(1);
  935. }
  936. }}
  937. return oBC49rename_dictionary;
  938. }
  939.  
  940.  
  941. void r49pop(T49* C){
  942. (/*SFN*/C->_top)=((/*RF2*/(C)->_top/*11*/))-(1);
  943. }
  944. T0*oBC49base_class_dictionary=NULL;
  945.  
  946.  
  947. T6 r49parser_buffer_for(T49* C,T0* a1){
  948. T6 R=0;
  949. T2 _i=0;
  950. r7copy((T7*)(oBC49tmp_tail),a1);
  951. r7to_lower((T7*)(oBC49tmp_tail));
  952. /*[IF*/
  953. if(!(r7has_suffix((T7*)(oBC49tmp_tail),((T0*)ms13_294)))){
  954. r7append((T7*)(oBC49tmp_tail),((T0*)ms13_294));
  955. }
  956. /*FI]*/
  957. _i=(/*RF2*/((T44*)(r49loading_path()))->_lower/*16*/);
  958. while (!(((_i)>((/*RF2*/((T44*)(r49loading_path()))->_upper/*12*/)))||(R)))
  959. {
  960. r7copy((T7*)(oBC49parser_buffer_path),r44item((T44*)(r49loading_path()),_i));
  961. r7append((T7*)(oBC49parser_buffer_path),oBC49tmp_tail);
  962. r76load_file((T76*)(oBC13parser_buffer),oBC49parser_buffer_path);
  963. R=/*(IRF4.7is_ready*/((/*RF2*/((T76*)(oBC13parser_buffer))->_path/*0*/))!=(NULL)/*)*/;
  964. _i=(_i)+(1);
  965. }
  966. /*[IF*/
  967. if((!(R))&&(r23has((T23*)(r49rename_dictionary(C)),oBC49tmp_tail))){
  968. r7copy((T7*)(oBC49parser_buffer_path),r23at((T23*)(r49rename_dictionary(C)),oBC49tmp_tail));
  969. r76load_file((T76*)(oBC13parser_buffer),oBC49parser_buffer_path);
  970. /*[IF*/
  971. if(/*(IRF4.7is_ready*/((/*RF2*/((T76*)(oBC13parser_buffer))->_path/*0*/))!=(NULL)/*)*/){
  972. R=1;
  973. }
  974. else{
  975. r35w_put_string(((T0*)ms49_53165));
  976. r35w_put_string(oBC49parser_buffer_path);
  977. r35w_put_string(((T0*)ms14_160));
  978. exit(1);
  979. }
  980. /*FI]*/
  981. }
  982. /*FI]*/
  983. /*[IF*/
  984. if(!(R)){
  985. r7copy((T7*)(oBC49tmp_tail),a1);
  986. /*[IF*/
  987. if(!(r7has_suffix((T7*)(oBC49tmp_tail),((T0*)ms13_294)))){
  988. r7append((T7*)(oBC49tmp_tail),((T0*)ms13_294));
  989. }
  990. /*FI]*/
  991. _i=(/*RF2*/((T44*)(r49loading_path()))->_lower/*16*/);
  992. while (!(((_i)>((/*RF2*/((T44*)(r49loading_path()))->_upper/*12*/)))||(R)))
  993. {
  994. r7copy((T7*)(oBC49parser_buffer_path),r44item((T44*)(r49loading_path()),_i));
  995. r7append((T7*)(oBC49parser_buffer_path),oBC49tmp_tail);
  996. r76load_file((T76*)(oBC13parser_buffer),oBC49parser_buffer_path);
  997. R=/*(IRF4.7is_ready*/((/*RF2*/((T76*)(oBC13parser_buffer))->_path/*0*/))!=(NULL)/*)*/;
  998. _i=(_i)+(1);
  999. }
  1000. }
  1001. /*FI]*/
  1002. /*[IF*/
  1003. if(!(R)){
  1004. r35w_put_string(((T0*)ms49_48112));
  1005. r35w_put_string(a1);
  1006. r35w_put_string(((T0*)ms49_336));
  1007. /*[IRF3.3clear*/((((T7*)((T7*)(oBC49parser_buffer_path))))->_count)=(0);
  1008. /*]*/
  1009. /*[IRF3.6append_loading_path_in*/{T0* b1=oBC49parser_buffer_path;
  1010. r43append_lp_in((T43*)(r49system_tools()),b1,r49loading_path());
  1011. }/*]*/
  1012. r35w_put_string(oBC49parser_buffer_path);
  1013. }
  1014. /*FI]*/
  1015. return R;
  1016. }
  1017.  
  1018.  
  1019. void r49push(T49* C,T0* a1){
  1020. (/*SFN*/C->_top)=((/*RF2*/(C)->_top/*11*/))+(1);
  1021. X379force(oBC49stack_rf,a1,(/*RF2*/(C)->_top/*11*/));
  1022. }
  1023. T0*oBC13tmp_path=NULL;
  1024.  
  1025.  
  1026. void r49get_started(T49* C,T0* a1,T0* a2){
  1027. T2 _magic=0;
  1028. T0* _root_type=NULL;
  1029. T0* _root_proc=NULL;
  1030. T0* _root=NULL;
  1031. T0* _root_proc_name=NULL;
  1032. r35put_string((T35*)(oBC13echo),((T0*)ms49_802392));
  1033. /*[IF*/
  1034. if(r47no_check((T47*)(oBC13run_control))){
  1035. /*[IRF3.3set_generator_used*/((((T47*)((T47*)(oBC13run_control))))->_generator_used)=(1);
  1036. /*]*/
  1037. /*[IRF3.3set_generating_type_used*/((((T47*)((T47*)(oBC13run_control))))->_generating_type_used)=(1);
  1038. /*]*/
  1039. }
  1040. /*FI]*/
  1041. r35put_string((T35*)(oBC13echo),((T0*)ms49_6110));
  1042. _root=r49load_class(C,a1);
  1043. /*[IF*/
  1044. if((_root)==((void*)(NULL))){
  1045. /*[IRF3.6append*/{T0* b1=((T0*)ms49_28313);
  1046. r7append((T7*)(oBC66explanation),b1);
  1047. }/*]*/
  1048. /*[IRF3.6append*/{T0* b1=a1;
  1049. r7append((T7*)(oBC66explanation),b1);
  1050. }/*]*/
  1051. /*[IRF3.6append*/{T0* b1=((T0*)ms14_46);
  1052. r7append((T7*)(oBC66explanation),b1);
  1053. }/*]*/
  1054. r66print_as_error((T66*)(oBC13eh));
  1055. }
  1056. else{
  1057. _root_proc_name=r51root_procedure_name(((T51*)_root),a2);
  1058. _root_proc=r51root_procedure(((T51*)_root),_root_proc_name);
  1059. }
  1060. /*FI]*/
  1061. /*[IF*/
  1062. if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
  1063. /*[IF*/
  1064. if(((/*RF2*/(((T303*)_root_proc))->_arguments/*20*/))!=((void*)(NULL))){
  1065. {T68 se_tmp0;
  1066. r66add_position((*(se_tmp0=r303start_position(((T303*)_root_proc)),&se_tmp0)));
  1067. }
  1068. /*[IRF3.6append*/{T0* b1=((T0*)ms49_20957);
  1069. r7append((T7*)(oBC66explanation),b1);
  1070. }/*]*/
  1071. /*[IRF3.6append*/{T0* b1=a2;
  1072. r7append((T7*)(oBC66explanation),b1);
  1073. }/*]*/
  1074. /*[IRF3.6append*/{T0* b1=((T0*)ms49_40975);
  1075. r7append((T7*)(oBC66explanation),b1);
  1076. }/*]*/
  1077. r66print_as_error((T66*)(oBC13eh));
  1078. }
  1079. /*FI]*/
  1080. }
  1081. /*FI]*/
  1082. /*[IF*/
  1083. if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
  1084. _root_type=(/*RF2*/((T50*)(r51run_class(((T51*)_root))))->_current_type/*0*/);
  1085. }
  1086. /*FI]*/
  1087. /*[IF*/
  1088. if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
  1089. (/*SFN*/C->_root_procedure)=r303to_run_feature(((T303*)_root_proc),_root_type,_root_proc_name);
  1090. }
  1091. /*FI]*/
  1092. /*[IF*/
  1093. if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
  1094. r35put_string((T35*)(oBC13echo),((T0*)ms49_33258));
  1095. r35put_integer((T35*)(oBC13echo),(/*RF2*/(C)->_magic_count/*7*/));
  1096. r35put_string((T35*)(oBC13echo),((T0*)ms49_4977));
  1097. /*[IRF3.2falling_down*/{T2 _i=0;
  1098. T0* _rc=NULL;
  1099. /*[IF*/
  1100. if((/*RF2*/((T47*)(oBC13run_control))->_generator_used/*10*/)){
  1101. ((/*UT*/(void)((T271*)(r49type_string()))),r271set_at_run_time());
  1102. }
  1103. /*FI]*/
  1104. /*[IRF3.2falling_down*//*[IF*/
  1105. if(((/*RF2*/((T367*)(oBC366mangling_dictionary))->_count/*40*/))>(0)){
  1106. ((/*UT*/(void)((T271*)(r366type_string()))),r271set_at_run_time());
  1107. }
  1108. /*FI]*/
  1109. /*]*/
  1110. /*[IRF3.2falling_down*/{T2 _i=0;
  1111. _i=/*SSWARF2*//*X349upper*/(/*RF2*/((T349*)(oBC369registered))->_upper/*12*/);
  1112. while (!((_i)<(0)))
  1113. {
  1114. r351update_with(X349item(oBC369registered,_i));
  1115. _i=(_i)-(1);
  1116. }
  1117. }/*]*/
  1118. _i=1;
  1119. while (!((_i)>((/*RF2*/((T55*)(oBC49run_class_dictionary))->_count/*36*/))))
  1120. {
  1121. _rc=r55item((T55*)(oBC49run_class_dictionary),_i);
  1122. r50falling_down(((T50*)_rc));
  1123. _i=(_i)+(1);
  1124. }
  1125. }/*]*/
  1126. r338fill_up((T338*)(oBC13cecil_pool));
  1127. while (!(((_magic)==((/*RF2*/(C)->_magic_count/*7*/)))||((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)>(0))))
  1128. {
  1129. _magic=(/*RF2*/(C)->_magic_count/*7*/);
  1130. /*[IRF3.2falling_down*/{T2 _i=0;
  1131. T0* _rc=NULL;
  1132. /*[IF*/
  1133. if((/*RF2*/((T47*)(oBC13run_control))->_generator_used/*10*/)){
  1134. ((/*UT*/(void)((T271*)(r49type_string()))),r271set_at_run_time());
  1135. }
  1136. /*FI]*/
  1137. /*[IRF3.2falling_down*//*[IF*/
  1138. if(((/*RF2*/((T367*)(oBC366mangling_dictionary))->_count/*40*/))>(0)){
  1139. ((/*UT*/(void)((T271*)(r366type_string()))),r271set_at_run_time());
  1140. }
  1141. /*FI]*/
  1142. /*]*/
  1143. /*[IRF3.2falling_down*/{T2 _i=0;
  1144. _i=/*SSWARF2*//*X349upper*/(/*RF2*/((T349*)(oBC369registered))->_upper/*12*/);
  1145. while (!((_i)<(0)))
  1146. {
  1147. r351update_with(X349item(oBC369registered,_i));
  1148. _i=(_i)-(1);
  1149. }
  1150. }/*]*/
  1151. _i=1;
  1152. while (!((_i)>((/*RF2*/((T55*)(oBC49run_class_dictionary))->_count/*36*/))))
  1153. {
  1154. _rc=r55item((T55*)(oBC49run_class_dictionary),_i);
  1155. r50falling_down(((T50*)_rc));
  1156. _i=(_i)+(1);
  1157. }
  1158. }/*]*/
  1159. }
  1160. r35put_string((T35*)(oBC13echo),((T0*)ms49_26502));
  1161. r35put_integer((T35*)(oBC13echo),(/*RF2*/(C)->_magic_count/*7*/));
  1162. r35put_string((T35*)(oBC13echo),((T0*)ms49_4977));
  1163. }
  1164. /*FI]*/
  1165. /*[IF*/
  1166. if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
  1167. r35put_string((T35*)(oBC13echo),((T0*)ms49_26520));
  1168. r35put_integer((T35*)(oBC13echo),(/*RF2*/(C)->_magic_count/*7*/));
  1169. r35put_string((T35*)(oBC13echo),((T0*)ms49_4977));
  1170. /*[IRF3.2afd_check*/{T2 _i=0;
  1171. T0* _rc=NULL;
  1172. _i=1;
  1173. while (!((_i)>((/*RF2*/((T55*)(oBC49run_class_dictionary))->_count/*36*/))))
  1174. {
  1175. _rc=r55item((T55*)(oBC49run_class_dictionary),_i);
  1176. r50afd_check(((T50*)_rc));
  1177. _i=(_i)+(1);
  1178. }
  1179. }/*]*/
  1180. while (!(((_magic)==((/*RF2*/(C)->_magic_count/*7*/)))||((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)>(0))))
  1181. {
  1182. _magic=(/*RF2*/(C)->_magic_count/*7*/);
  1183. /*[IRF3.2afd_check*/{T2 _i=0;
  1184. T0* _rc=NULL;
  1185. _i=1;
  1186. while (!((_i)>((/*RF2*/((T55*)(oBC49run_class_dictionary))->_count/*36*/))))
  1187. {
  1188. _rc=r55item((T55*)(oBC49run_class_dictionary),_i);
  1189. r50afd_check(((T50*)_rc));
  1190. _i=(_i)+(1);
  1191. }
  1192. }/*]*/
  1193. }
  1194. /*[IRF3.2check_for_deferred*/{T0* _rc=NULL;
  1195. T0* _rf9=NULL;
  1196. T2 _i=0;
  1197. _i=(/*RF2*/((T385*)(oBC49rf9_memory))->_upper/*12*/);
  1198. r35print_count((T35*)(oBC13echo),((T0*)ms49_33632),(_i)+(1));
  1199. while (!((_i)<(0)))
  1200. {
  1201. _rf9=/*(IRF4.6item*/((/*RF2*/((T385*)(oBC49rf9_memory))->_storage/*4*/))[_i]/*)*/;
  1202. _rc=X52run_class(/*SSWARF2*//*X334current_type*/(/*RF2*/(((T368*)_rf9))->_current_type/*8*/));
  1203. /*[IF*/
  1204. if((/*RF2*/(((T50*)_rc))->_at_run_time/*8*/)){
  1205. /*[IRF3.6append*/{T0* b1=X82to_string(/*SSWARF2*//*X334name*/(/*RF2*/(((T368*)_rf9))->_name/*12*/));
  1206. r7append((T7*)(oBC66explanation),b1);
  1207. }/*]*/
  1208. /*[IRF3.6append*/{T0* b1=((T0*)ms49_31538);
  1209. r7append((T7*)(oBC66explanation),b1);
  1210. }/*]*/
  1211. /*[IRF3.6append*/{T0* b1=X52written_mark(/*SSWARF2*//*X334current_type*/(/*RF2*/(((T368*)_rf9))->_current_type/*8*/));
  1212. r7append((T7*)(oBC66explanation),b1);
  1213. }/*]*/
  1214. {T68 se_tmp0;
  1215. r49warning((*(se_tmp0=X334start_position(_rf9),&se_tmp0)),((T0*)ms14_46));
  1216. }
  1217. }
  1218. /*FI]*/
  1219. _i=(_i)-(1);
  1220. }
  1221. }/*]*/
  1222. /*[IRF3.2check_generic_formal_arguments*/{T2 _i=0;
  1223. _i=1;
  1224. while (!((_i)>((/*RF2*/((T63*)(oBC49base_class_dictionary))->_count/*36*/))))
  1225. {
  1226. r51check_generic_formal_arguments((T51*)(r63item((T63*)(oBC49base_class_dictionary),_i)));
  1227. _i=(_i)+(1);
  1228. }
  1229. }/*]*/
  1230. /*[IRF3.2afd*/{int _switch=0;
  1231. T0* _rf=NULL;
  1232. T2 _count2=0;
  1233. T2 _count1=0;
  1234. T0* _dictionary2=NULL;
  1235. _count1=1;
  1236. while (!((_count1)>((/*RF2*/((T353*)(oBC351dictionary))->_count/*36*/))))
  1237. {
  1238. _dictionary2=r353item((T353*)(oBC351dictionary),_count1);
  1239. _count2=1;
  1240. while (!((_count2)>((/*RF2*/(((T348*)_dictionary2))->_count/*36*/))))
  1241. {
  1242. _rf=r348item(((T348*)_dictionary2),_count2);
  1243. r352afd(_rf);
  1244. _count2=(_count2)+(1);
  1245. }
  1246. _count1=(_count1)+(1);
  1247. }
  1248. }/*]*/
  1249. r35put_string((T35*)(oBC13echo),((T0*)ms49_45192));
  1250. r35put_integer((T35*)(oBC13echo),(/*RF2*/(C)->_magic_count/*7*/));
  1251. r35put_string((T35*)(oBC13echo),((T0*)ms49_4977));
  1252. r341finish_falling_down((T341*)(oBC13conversion_handler));
  1253. r35put_string((T35*)(oBC13echo),((T0*)ms49_42606));
  1254. r35put_integer((T35*)(oBC13echo),(/*RF2*/(C)->_magic_count/*7*/));
  1255. r35put_string((T35*)(oBC13echo),((T0*)ms49_4977));
  1256. while (!(((_magic)==((/*RF2*/(C)->_magic_count/*7*/)))||((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)>(0))))
  1257. {
  1258. _magic=(/*RF2*/(C)->_magic_count/*7*/);
  1259. /*[IRF3.2falling_down*/{T2 _i=0;
  1260. T0* _rc=NULL;
  1261. /*[IF*/
  1262. if((/*RF2*/((T47*)(oBC13run_control))->_generator_used/*10*/)){
  1263. ((/*UT*/(void)((T271*)(r49type_string()))),r271set_at_run_time());
  1264. }
  1265. /*FI]*/
  1266. /*[IRF3.2falling_down*//*[IF*/
  1267. if(((/*RF2*/((T367*)(oBC366mangling_dictionary))->_count/*40*/))>(0)){
  1268. ((/*UT*/(void)((T271*)(r366type_string()))),r271set_at_run_time());
  1269. }
  1270. /*FI]*/
  1271. /*]*/
  1272. /*[IRF3.2falling_down*/{T2 _i=0;
  1273. _i=/*SSWARF2*//*X349upper*/(/*RF2*/((T349*)(oBC369registered))->_upper/*12*/);
  1274. while (!((_i)<(0)))
  1275. {
  1276. r351update_with(X349item(oBC369registered,_i));
  1277. _i=(_i)-(1);
  1278. }
  1279. }/*]*/
  1280. _i=1;
  1281. while (!((_i)>((/*RF2*/((T55*)(oBC49run_class_dictionary))->_count/*36*/))))
  1282. {
  1283. _rc=r55item((T55*)(oBC49run_class_dictionary),_i);
  1284. r50falling_down(((T50*)_rc));
  1285. _i=(_i)+(1);
  1286. }
  1287. }/*]*/
  1288. }
  1289. r35put_string((T35*)(oBC13echo),((T0*)ms49_20556));
  1290. r35put_integer((T35*)(oBC13echo),(/*RF2*/(C)->_magic_count/*7*/));
  1291. r35put_string((T35*)(oBC13echo),((T0*)ms49_4977));
  1292. }
  1293. /*FI]*/
  1294. /*[IF*/
  1295. if(!(r66is_empty())){
  1296. /*[IRF3.6append*/{T0* b1=((T0*)ms49_98400);
  1297. r7append((T7*)(oBC66explanation),b1);
  1298. }/*]*/
  1299. r66print_as_warning((T66*)(oBC13eh));
  1300. }
  1301. /*FI]*/
  1302. /*[IF*/
  1303. if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
  1304. (/*SFN*/C->_is_ready)=1;
  1305. r35print_count((T35*)(oBC13echo),((T0*)ms49_23374),(/*RF2*/((T63*)(oBC49base_class_dictionary))->_count/*36*/));
  1306. }
  1307. /*FI]*/
  1308. }
  1309.  
  1310.  
  1311. void r49id_extra_information(T0* a1,T0* a2){
  1312. T0* _path=NULL;
  1313. T0* _rc=NULL;
  1314. T0* _bc=NULL;
  1315. /*[IF*/
  1316. if((a2)==((void*)(((T0*)ms15_1216)))){
  1317. }
  1318.  else if(r55has((T55*)(oBC49run_class_dictionary),a2)){
  1319. _rc=r55at((T55*)(oBC49run_class_dictionary),a2);
  1320. _bc=r50base_class(((T50*)_rc));
  1321. }
  1322.  else if(r63has((T63*)(oBC49base_class_dictionary),a2)){
  1323. _bc=r63at((T63*)(oBC49base_class_dictionary),a2);
  1324. }
  1325. /*FI]*/
  1326. /*[IF*/
  1327. if((_bc)!=((void*)(NULL))){
  1328. r48put_string(((T48*)a1),((T0*)ms49_12688));
  1329. _path=(/*RF2*/(((T51*)_bc))->_path/*4*/);
  1330. r48put_string(((T48*)a1),_path);
  1331. /*[IRF3.6put_character*/{T48* C1=((T48*)a1);
  1332. T3 b1=((T3)'\42');
  1333. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  1334. }/*]*/
  1335. /*[IRF3.6put_character*/{T48* C1=((T48*)a1);
  1336. T3 b1=((T3)'\40');
  1337. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  1338. }/*]*/
  1339. r51id_extra_information(((T51*)_bc),a1);
  1340. }
  1341. /*FI]*/
  1342. /*[IF*/
  1343. if((_rc)!=((void*)(NULL))){
  1344. r50id_extra_information(((T50*)_rc),a1);
  1345. }
  1346. /*FI]*/
  1347. }
  1348.  
  1349.  
  1350. T6 r49is_used(T0* a1){
  1351. T6 R=0;
  1352. R=r63has((T63*)(oBC49base_class_dictionary),a1);
  1353. return R;
  1354. }
  1355. T0*oBC13manifest_string_pool=NULL;
  1356. T0*oBC49basic_sys_runtime=NULL;
  1357.  
  1358.  
  1359. T0* r49run_class(T0* a1){
  1360. T0* R=NULL;
  1361. T0* _run_string=NULL;
  1362. _run_string=X52run_time_mark(a1);
  1363. /*[IF*/
  1364. if(r55has((T55*)(oBC49run_class_dictionary),_run_string)){
  1365. R=r55at((T55*)(oBC49run_class_dictionary),_run_string);
  1366. }
  1367. else{
  1368. {T50*n=((T50*)malloc(sizeof(*n))/*39*/);
  1369. *n=M50;
  1370. r50make(n,a1);
  1371. R=((T0*)n);
  1372. }
  1373. }
  1374. /*FI]*/
  1375. return R;
  1376. }
  1377.  
  1378.  
  1379. void r49fatal_error(T0* a1){
  1380. /*[IRF3.6append*/{T0* b1=a1;
  1381. r7append((T7*)(oBC66explanation),b1);
  1382. }/*]*/
  1383. r66print_as_fatal_error((T66*)(oBC13eh));
  1384. }
  1385. T0*oBC13system_tools=NULL;
  1386. int fBC13system_tools=0;
  1387.  
  1388.  
  1389. T0* r49system_tools(void){
  1390. if(fBC13system_tools==0){fBC13system_tools=1;{
  1391. {T43*n=((T43*)malloc(sizeof(*n))/*17*/);
  1392. *n=M43;
  1393. oBC13system_tools=((T0*)n);
  1394. r43make(n);
  1395. }
  1396. }}
  1397. return oBC13system_tools;
  1398. }
  1399.  
  1400.  
  1401. void r49compile_to_c(T49* C){
  1402. T6 _gc_flag=0;
  1403. T2 _i=0;
  1404. T2 _run_count=0;
  1405. T0* _rc=NULL;
  1406. T0* _procedure=NULL;
  1407. T0* _root_class=NULL;
  1408. _root_class=(/*RF2*/((T47*)(oBC13run_control))->_root_class/*5*/);
  1409. _procedure=r47root_procedure((T47*)(oBC13run_control));
  1410. r49get_started(C,_root_class,_procedure);
  1411. /*[IF*/
  1412. if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
  1413. r325get_started((T325*)(oBC13cpp));
  1414. r325swap_on_h((T325*)(oBC13cpp));
  1415. _gc_flag=!((/*RF2*/((T344*)(oBC13gc_handler))->_is_off/*0*/));
  1416. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms49_16698));
  1417. /*]*/
  1418. _i=1;
  1419. while (!((_i)>((/*RF2*/((T55*)(oBC49run_class_dictionary))->_count/*36*/))))
  1420. {
  1421. _rc=r55item((T55*)(oBC49run_class_dictionary),_i);
  1422. /*[IF*/
  1423. if((/*RF2*/(((T50*)_rc))->_at_run_time/*8*/)){
  1424. _run_count=(_run_count)+(1);
  1425. }
  1426. /*FI]*/
  1427. r50demangling(((T50*)_rc));
  1428. _i=(_i)+(1);
  1429. }
  1430. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms49_15779));
  1431. /*]*/
  1432. r325put_comment_line((T325*)(oBC13cpp),((T0*)ms49_23035aaa));
  1433. _i=1;
  1434. while (!((_i)>((/*RF2*/((T55*)(oBC49run_class_dictionary))->_count/*36*/))))
  1435. {
  1436. _rc=r55item((T55*)(oBC49run_class_dictionary),_i);
  1437. r50c_header_pass1(((T50*)_rc));
  1438. _i=(_i)+(1);
  1439. }
  1440. r325put_comment_line((T325*)(oBC13cpp),((T0*)ms49_23035aa));
  1441. _i=1;
  1442. while (!((_i)>((/*RF2*/((T55*)(oBC49run_class_dictionary))->_count/*36*/))))
  1443. {
  1444. _rc=r55item((T55*)(oBC49run_class_dictionary),_i);
  1445. r50c_header_pass2(((T50*)_rc));
  1446. _i=(_i)+(1);
  1447. }
  1448. r325put_comment_line((T325*)(oBC13cpp),((T0*)ms49_23035a));
  1449. _i=1;
  1450. while (!((_i)>((/*RF2*/((T55*)(oBC49run_class_dictionary))->_count/*36*/))))
  1451. {
  1452. _rc=r55item((T55*)(oBC49run_class_dictionary),_i);
  1453. r50c_header_pass3(((T50*)_rc));
  1454. _i=(_i)+(1);
  1455. }
  1456. r325put_comment_line((T325*)(oBC13cpp),((T0*)ms49_23035));
  1457. _i=1;
  1458. while (!((_i)>((/*RF2*/((T55*)(oBC49run_class_dictionary))->_count/*36*/))))
  1459. {
  1460. _rc=r55item((T55*)(oBC49run_class_dictionary),_i);
  1461. r50c_header_pass4(((T50*)_rc));
  1462. _i=(_i)+(1);
  1463. }
  1464. /*[IF*/
  1465. if(!(r55has((T55*)(oBC49run_class_dictionary),((T0*)ms15_58075)))){
  1466. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms49_13140));
  1467. /*]*/
  1468. /*[IF*/
  1469. if(r47no_check((T47*)(oBC13run_control))){
  1470. r325put_c_function((T325*)(oBC13cpp),((T0*)ms49_25720),((T0*)ms49_111462));
  1471. }
  1472. /*FI]*/
  1473. }
  1474. /*FI]*/
  1475. r366c_define1(r49string_at_run_time());
  1476. r325customize_runtime((T325*)(oBC13cpp),oBC49basic_sys_runtime);
  1477. /*[IF*/
  1478. if(_gc_flag){
  1479. /*[IRF3.2define1*/r35put_string((T35*)(oBC13echo),((T0*)ms344_19240));
  1480. r325macro_def((T325*)(oBC13cpp),((T0*)ms344_9135),8192);
  1481. r325macro_def((T325*)(oBC13cpp),((T0*)ms344_9243),32768);
  1482. r325sys_runtime_h((T325*)(oBC13cpp),((T0*)ms14_6588));
  1483. /*[IRF3.2compute_ceils*/{T2 _kb_count=0;
  1484. T0* _rc=NULL;
  1485. T0* _rcd=NULL;
  1486. T2 _i=0;
  1487. T2 _rsoc_count_ceil=0;
  1488. T2 _fsoc_count_ceil=0;
  1489. _rcd=oBC49run_class_dictionary;
  1490. _i=1;
  1491. while (!((_i)>((/*RF2*/(((T55*)_rcd))->_count/*36*/))))
  1492. {
  1493. _rc=r55item(((T55*)_rcd),_i);
  1494. /*[IF*/
  1495. if((/*RF2*/(((T50*)_rc))->_at_run_time/*8*/)){
  1496. /*[IF*/
  1497. if(X52is_native_array((/*RF2*/(((T50*)_rc))->_current_type/*0*/))){
  1498. _rsoc_count_ceil=(_rsoc_count_ceil)+(1);
  1499. }
  1500. else{
  1501. _fsoc_count_ceil=(_fsoc_count_ceil)+(1);
  1502. }
  1503. /*FI]*/
  1504. }
  1505. /*FI]*/
  1506. _i=(_i)+(1);
  1507. }
  1508. _fsoc_count_ceil=(4)*(_fsoc_count_ceil);
  1509. _kb_count=(_fsoc_count_ceil)*((8192)/(1024));
  1510. /*[IF*/
  1511. if((_kb_count)<(256)){
  1512. _fsoc_count_ceil=(256)/((8192)/(1024));
  1513. }
  1514. /*FI]*/
  1515. _rsoc_count_ceil=(3)*(_rsoc_count_ceil);
  1516. _kb_count=(_rsoc_count_ceil)*((32768)/(1024));
  1517. /*[IF*/
  1518. if((_kb_count)<(256)){
  1519. _rsoc_count_ceil=(256)/((32768)/(1024));
  1520. }
  1521. /*FI]*/
  1522. r325put_extern6((T325*)(oBC13cpp),((T0*)ms344_100072a),_fsoc_count_ceil);
  1523. r325put_extern6((T325*)(oBC13cpp),((T0*)ms344_100072),_rsoc_count_ceil);
  1524. }/*]*/
  1525. r325sys_runtime_c(((T0*)ms14_6588));
  1526. r325swap_on_h((T325*)(oBC13cpp));
  1527. r325put_extern2((T325*)(oBC13cpp),((T0*)ms344_99414),((T3)'0'));
  1528. /*]*/
  1529. }
  1530. /*FI]*/
  1531. /*[IRF3.2compile_routines*/{T0* _bcn=NULL;
  1532. T6 _stop=0;
  1533. T2 _i=0;
  1534. T2 _deep=0;
  1535. T0* _ct=NULL;
  1536. T0* _rc_string=NULL;
  1537. T0* _rc=NULL;
  1538. r35put_string((T35*)(oBC13echo),((T0*)ms49_46376));
  1539. r35put_integer((T35*)(oBC13echo),(/*RF2*/((T55*)(oBC49run_class_dictionary))->_count/*36*/));
  1540. r35put_string((T35*)(oBC13echo),((T0*)ms49_8325));
  1541. /*[IRF3.3swap_on_c*/((((T325*)((T325*)(oBC13cpp))))->_current_out)=(oBC325out_c);
  1542. /*]*/
  1543. _i=1;
  1544. while (!((_i)>((/*RF2*/((T55*)(oBC49run_class_dictionary))->_count/*36*/))))
  1545. {
  1546. _rc=r55item((T55*)(oBC49run_class_dictionary),_i);
  1547. _ct=(/*RF2*/(((T50*)_rc))->_current_type/*0*/);
  1548. /*[IF*/
  1549. if(X52is_basic_eiffel_expanded(_ct)){
  1550. r50compile_to_c(((T50*)_rc),0);
  1551. }
  1552.  else if(X52is_string(_ct)){
  1553. _rc_string=_rc;
  1554. }
  1555. /*FI]*/
  1556. _i=(_i)+(1);
  1557. }
  1558. _i=1;
  1559. while (!((_i)>((/*RF2*/((T55*)(oBC49run_class_dictionary))->_count/*36*/))))
  1560. {
  1561. _rc=r55item((T55*)(oBC49run_class_dictionary),_i);
  1562. _ct=(/*RF2*/(((T50*)_rc))->_current_type/*0*/);
  1563. /*[IF*/
  1564. if(X52is_bit(_ct)){
  1565. r50compile_to_c(((T50*)_rc),0);
  1566. }
  1567. /*FI]*/
  1568. _i=(_i)+(1);
  1569. }
  1570. _i=1;
  1571. while (!((_i)>((/*RF2*/((T55*)(oBC49run_class_dictionary))->_count/*36*/))))
  1572. {
  1573. _rc=r55item((T55*)(oBC49run_class_dictionary),_i);
  1574. _bcn=(/*RF2*/((T61*)(r50base_class_name(((T50*)_rc))))->_to_string/*8*/);
  1575. /*[IF*/
  1576. if((((T0*)ms15_17448))==((void*)(_bcn))){
  1577. r50compile_to_c(((T50*)_rc),0);
  1578. }
  1579. /*FI]*/
  1580. _i=(_i)+(1);
  1581. }
  1582. /*[IF*/
  1583. if((_rc_string)!=((void*)(NULL))){
  1584. r50compile_to_c(((T50*)_rc_string),0);
  1585. }
  1586. /*FI]*/
  1587. _i=1;
  1588. while (!((_i)>((/*RF2*/((T55*)(oBC49run_class_dictionary))->_count/*36*/))))
  1589. {
  1590. _rc=r55item((T55*)(oBC49run_class_dictionary),_i);
  1591. _ct=(/*RF2*/(((T50*)_rc))->_current_type/*0*/);
  1592. _bcn=(/*RF2*/((T61*)(X52base_class_name(_ct)))->_to_string/*8*/);
  1593. /*[IF*/
  1594. if(((((T0*)ms15_1915))==((void*)(_bcn)))||((((T0*)ms15_14817))==((void*)(_bcn)))){
  1595. r50compile_to_c(((T50*)_rc),0);
  1596. }
  1597. /*FI]*/
  1598. _i=(_i)+(1);
  1599. }
  1600. _i=1;
  1601. while (!((_i)>((/*RF2*/((T55*)(oBC49run_class_dictionary))->_count/*36*/))))
  1602. {
  1603. _rc=r55item((T55*)(oBC49run_class_dictionary),_i);
  1604. _ct=(/*RF2*/(((T50*)_rc))->_current_type/*0*/);
  1605. /*[IF*/
  1606. if(X52is_generic(_ct)){
  1607. r50compile_to_c(((T50*)_rc),0);
  1608. }
  1609. /*FI]*/
  1610. _i=(_i)+(1);
  1611. }
  1612. _deep=6;
  1613. while (!(_stop))
  1614. {
  1615. _stop=1;
  1616. _i=1;
  1617. while (!((_i)>((/*RF2*/((T55*)(oBC49run_class_dictionary))->_count/*36*/))))
  1618. {
  1619. _rc=r55item((T55*)(oBC49run_class_dictionary),_i);
  1620. /*[IF*/
  1621. if(!((/*RF2*/(((T50*)_rc))->_compile_to_c_done/*17*/))){
  1622. _stop=0;
  1623. r50compile_to_c(((T50*)_rc),_deep);
  1624. }
  1625. /*FI]*/
  1626. _i=(_i)+(1);
  1627. }
  1628. _deep=(_deep)-(1);
  1629. }
  1630. }/*]*/
  1631. r325cecil_define((T325*)(oBC13cpp));
  1632. r325define_main((T325*)(oBC13cpp),(/*RF2*/(C)->_root_procedure/*0*/));
  1633. r366c_define2(r49string_at_run_time());
  1634. /*[IRF3.2compile_registered_for_c_define*/{T2 _i=0;
  1635. _i=(/*RF2*/((T372*)(oBC49registered_for_c_define))->_upper/*12*/);
  1636. while (!((_i)<(0)))
  1637. {
  1638. r368c_define((T368*)(/*(IRF4.6item*/((/*RF2*/((T372*)(oBC49registered_for_c_define))->_storage/*4*/))[_i]/*)*/));
  1639. _i=(_i)-(1);
  1640. }
  1641. }/*]*/
  1642. /*[IRF3.2c_define*/{T2 _i=0;
  1643. _i=/*SSWARF2*//*X349upper*/(/*RF2*/((T349*)(oBC369registered))->_upper/*12*/);
  1644. /*[IF*/
  1645. if((_i)>=(0)){
  1646. while (!((_i)<(0)))
  1647. {
  1648. X334address_of_c_define(X349item(oBC369registered,_i),/*(IRF4.6item*/((/*RF2*/((T370*)(oBC369caller_memory))->_storage/*4*/))[_i]/*)*/);
  1649. _i=(_i)-(1);
  1650. }
  1651. }
  1652. /*FI]*/
  1653. }/*]*/
  1654. /*[IF*/
  1655. if(_gc_flag){
  1656. r344define2((T344*)(oBC13gc_handler));
  1657. }
  1658. /*FI]*/
  1659. /*[IRF3.2c_define*/{T2 _i=0;
  1660. _i=1;
  1661. while (!((_i)>((/*RF2*/((T362*)(oBC361manifest_array_types))->_count/*36*/))))
  1662. {
  1663. r361c_define_for(r362item((T362*)(oBC361manifest_array_types),_i));
  1664. _i=(_i)+(1);
  1665. }
  1666. }/*]*/
  1667. /*[IRF3.2c_define*/{int _switch=0;
  1668. T2 _total=0;
  1669. T2 _count2=0;
  1670. T2 _count1=0;
  1671. T0* _dictionary2=NULL;
  1672. /*[IF*/
  1673. if(!(/*(IRF4.7is_empty*/((/*RF2*/((T353*)(oBC351dictionary))->_count/*36*/))==(0)/*)*/)){
  1674. /*[IRF3.3swap_on_c*/((((T325*)((T325*)(oBC13cpp))))->_current_out)=(oBC325out_c);
  1675. /*]*/
  1676. _count1=1;
  1677. while (!((_count1)>((/*RF2*/((T353*)(oBC351dictionary))->_count/*36*/))))
  1678. {
  1679. _dictionary2=r353item((T353*)(oBC351dictionary),_count1);
  1680. _count2=1;
  1681. while (!((_count2)>((/*RF2*/(((T348*)_dictionary2))->_count/*36*/))))
  1682. {
  1683. r352c_define(_switch,r348item(((T348*)_dictionary2),_count2));
  1684. _total=(_total)+(1);
  1685. _count2=(_count2)+(1);
  1686. /*[IF*/
  1687. if(((_total)%(18))==(0)){
  1688. r325padding_here((T325*)(oBC13cpp));
  1689. }
  1690. /*FI]*/
  1691. }
  1692. _count1=(_count1)+(1);
  1693. }
  1694. }
  1695. /*FI]*/
  1696. r35print_count((T35*)(oBC13echo),((T0*)ms351_30015),_total);
  1697. }/*]*/
  1698. r325define_used_basics((T325*)(oBC13cpp));
  1699. r325write_make_file((T325*)(oBC13cpp));
  1700. }
  1701. else{
  1702. /*[IRF3.6append*/{T0* b1=((T0*)ms49_33154);
  1703. r7append((T7*)(oBC66explanation),b1);
  1704. }/*]*/
  1705. r66print_as_error((T66*)(oBC13eh));
  1706. }
  1707. /*FI]*/
  1708. }
  1709.  
  1710.  
  1711. T6 r49stupid_switch(T0* a1,T0* a2){
  1712. T6 R=0;
  1713. /*[IF*/
  1714. if((a2)==((void*)(NULL))){
  1715. R=1;
  1716. }
  1717.  else if((r53count(((T53*)a2)))==(1)){
  1718. R=1;
  1719. }
  1720. else{
  1721. R=X52stupid_switch(a1,a2);
  1722. }
  1723. /*FI]*/
  1724. return R;
  1725. }
  1726.  
  1727.  
  1728. T6 r49same_base_feature(T0* a1,T0* a2){
  1729. T6 R=0;
  1730. T0* _rc=NULL;
  1731. T0* _dyn_rf=NULL;
  1732. T0* _f=NULL;
  1733. T2 _i=0;
  1734. R=1;
  1735. _i=(/*RF2*/(((T53*)a2))->_upper/*8*/);
  1736. _f=/*SSWA2*//*X334base_feature*/(/*RF2*/(((T368*)a1))->_base_feature/*24*/);
  1737. while (!((!(R))||((_i)==(0))))
  1738. {
  1739. _rc=r53item(((T53*)a2),_i);
  1740. _dyn_rf=r50dynamic(((T50*)_rc),a1);
  1741. /*[IF*/
  1742. if((_f)==((void*)(/*SSWA2*//*X334base_feature*/(/*RF2*/(((T368*)_dyn_rf))->_base_feature/*24*/)))){
  1743. /*[IF*/
  1744. if((X82to_string(/*SSWARF2*//*X334name*/(/*RF2*/(((T368*)_dyn_rf))->_name/*12*/)))!=((void*)(X82to_string(/*SSWARF2*//*X334name*/(/*RF2*/(((T368*)a1))->_name/*12*/))))){
  1745. R=0;
  1746. }
  1747. /*FI]*/
  1748. }
  1749. else{
  1750. R=0;
  1751. }
  1752. /*FI]*/
  1753. _i=(_i)-(1);
  1754. }
  1755. return R;
  1756. }
  1757. T0*oBC49run_class_dictionary=NULL;
  1758. T0*oBC49rf9_memory=NULL;
  1759.  
  1760.  
  1761. void r49reference_to_expanded(T0* a1){
  1762. T0* _type=NULL;
  1763. T0* _rc=NULL;
  1764. T2 _i=0;
  1765. _i=1;
  1766. while (!((_i)>((/*RF2*/((T55*)(oBC49run_class_dictionary))->_count/*36*/))))
  1767. {
  1768. _rc=r55item((T55*)(oBC49run_class_dictionary),_i);
  1769. _type=(/*RF2*/(((T50*)_rc))->_current_type/*0*/);
  1770. /*[IF*/
  1771. if(X52is_expanded(_type)){
  1772. /*[IF*/
  1773. if(X52is_a(_type,a1)){
  1774. _type=X52actual_reference(_type,a1);
  1775. _rc=X52run_class(_type);
  1776. /*[IF*/
  1777. if(!((/*RF2*/(((T50*)_rc))->_at_run_time/*8*/))){
  1778. r50set_at_run_time(((T50*)_rc));
  1779. r50falling_down((T50*)(X52run_class(a1)));
  1780. }
  1781. /*FI]*/
  1782. }
  1783. else{
  1784. /*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC66explanation))))->_count)=(0);
  1785. /*]*/
  1786. /*[IRF3.3clear*/((((T67*)((T67*)(oBC66positions))))->_upper)=(-(1));
  1787. /*]*/
  1788. /*]*/
  1789. }
  1790. /*FI]*/
  1791. }
  1792. /*FI]*/
  1793. _i=(_i)+(1);
  1794. }
  1795. }
  1796. T0*oBC13id_provider=NULL;
  1797. int fBC13id_provider=0;
  1798.  
  1799.  
  1800. T0* r49id_provider(void){
  1801. if(fBC13id_provider==0){fBC13id_provider=1;{
  1802. {T39*n=((T39*)malloc(sizeof(*n))/*4*/);
  1803. *n=M39;
  1804. oBC13id_provider=((T0*)n);
  1805. r39make(n);
  1806. }
  1807. }}
  1808. return oBC13id_provider;
  1809. }
  1810.  
  1811.  
  1812. T0* r206value(T206* C,T2 a1){
  1813. T0* R=NULL;
  1814. /*[IF*/
  1815. if((a1)==(1)){
  1816. R=(/*RF2*/(C)->_first_value/*24*/);
  1817. }
  1818. else{
  1819. R=/*(IRF4.6item*/((/*RF2*/((T207*)((/*RF2*/(C)->_remainder/*28*/)))->_storage/*4*/))[(a1)-(2)]/*)*/;
  1820. }
  1821. /*FI]*/
  1822. return R;
  1823. }
  1824.  
  1825.  
  1826. T0* r206try_to_undefine_aux(T206* C,T0* a1,T0* a2){
  1827. T0* R=NULL;
  1828. {T68 se_tmp0;
  1829. r66add_position((*(se_tmp0=r206start_position(C),&se_tmp0)));
  1830. }
  1831. {T68 se_tmp0;
  1832. r206error((*(se_tmp0=X82start_position(a1),&se_tmp0)),((T0*)ms200_98784));
  1833. }
  1834. r51fatal_undefine(((T51*)a2),a1);
  1835. return R;
  1836. }
  1837.  
  1838.  
  1839. T0* r206try_to_undefine(T206* C,T0* a1,T0* a2){
  1840. T0* R=NULL;
  1841. T0* _fn2=NULL;
  1842. {T68 se_tmp0;
  1843. r66add_position((*(se_tmp0=X82start_position(a1),&se_tmp0)));
  1844. }
  1845. _fn2=r83feature_name((T83*)((/*RF2*/(C)->_names/*8*/)),X82to_key(a1));
  1846. /*[IF*/
  1847. if((_fn2)!=((void*)(NULL))){
  1848. X82undefine_in(_fn2,a2);
  1849. }
  1850. /*FI]*/
  1851. /*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC66explanation))))->_count)=(0);
  1852. /*]*/
  1853. /*[IRF3.3clear*/((((T67*)((T67*)(oBC66positions))))->_upper)=(-(1));
  1854. /*]*/
  1855. /*]*/
  1856. R=r206try_to_undefine_aux(C,a1,a2);
  1857. /*[IF*/
  1858. if((R)!=((void*)(NULL))){
  1859. X284set_clients(R,(/*RF2*/(C)->_clients/*16*/));
  1860. r206merge_header_comments(C,R);
  1861. }
  1862. else{
  1863. r51fatal_undefine(((T51*)a2),a1);
  1864. }
  1865. /*FI]*/
  1866. return R;
  1867. }
  1868.  
  1869.  
  1870. void r206check_obsolete(T206* C,T68 a1){
  1871. /*[IF*/
  1872. /*AF*//*AE*/
  1873. /*FI]*/
  1874. }
  1875.  
  1876.  
  1877. T0* r206to_run_feature(T206* C,T0* a1,T0* a2){
  1878. T0* R=NULL;
  1879. T0* _rc=NULL;
  1880. _rc=X52run_class(a1);
  1881. R=r50at(((T50*)_rc),a2);
  1882. if(NULL!=(R)){
  1883. switch(((T0*)R)->id){
  1884. case 388:
  1885. break;
  1886. default:
  1887. R=NULL;
  1888. }
  1889. }/*[IF*/
  1890. if((R)==((void*)(NULL))){
  1891. {T388*n=((T388*)malloc(sizeof(*n))/*36*/);
  1892. *n=M388;
  1893. r388make(n,a1,a2,(T0*)C);
  1894. R=((T0*)n);
  1895. }
  1896. }
  1897. /*FI]*/
  1898. return R;
  1899. }
  1900.  
  1901.  
  1902. void r206error(T68 a1,T0* a2){
  1903. r66add_position(a1);
  1904. /*[IRF3.6append*/{T0* b1=a2;
  1905. r7append((T7*)(oBC66explanation),b1);
  1906. }/*]*/
  1907. r66print_as_error((T66*)(oBC13eh));
  1908. }
  1909.  
  1910.  
  1911. T6 r206is_not_mergeable_with(T206* C,T0* a1){
  1912. T6 R=0;
  1913. /*[IF*/
  1914. if(((/*RF2*/(C)->_result_type/*20*/))==((void*)(NULL))){
  1915. R=(X90result_type(a1))!=((void*)(NULL));
  1916. }
  1917. else{
  1918. R=(X90result_type(a1))==((void*)(NULL));
  1919. }
  1920. /*FI]*/
  1921. /*[IF*/
  1922. if(R){
  1923. /*[IRF3.6append*/{T0* b1=((T0*)ms90_64152);
  1924. r7append((T7*)(oBC66explanation),b1);
  1925. }/*]*/
  1926. }
  1927. else{
  1928. /*[IF*/
  1929. {/*AT*/R=(X90arguments(a1))!=((void*)(NULL));
  1930. }
  1931. /*FI]*/
  1932. /*[IF*/
  1933. if(R){
  1934. /*[IRF3.6append*/{T0* b1=((T0*)ms90_82612);
  1935. r7append((T7*)(oBC66explanation),b1);
  1936. }/*]*/
  1937. }
  1938.  else {/*AT*/}
  1939. /*FI]*/
  1940. }
  1941. /*FI]*/
  1942. r206merge_header_comments(C,a1);
  1943. return R;
  1944. }
  1945.  
  1946.  
  1947. void r206make(T206* C,T0* a1,T0* a2,T0* a3){
  1948. T2 _i=0;
  1949. /*[IRF3.3make_e_feature*/((((T206*)(C)))->_names)=(a1);
  1950. /*]*/
  1951. (/*SFN*/C->_result_type)=a2;
  1952. (/*SFN*/C->_first_value)=a3;
  1953. _i=r83count((T83*)((/*RF2*/(C)->_names/*8*/)));
  1954. /*[IF*/
  1955. if((_i)>(1)){
  1956. _i=(_i)-(1);
  1957. {T207*n=((T207*)malloc(sizeof(*n))/*16*/);
  1958. *n=M207;
  1959. r207make(n,_i);
  1960. (/*SFN*/C->_remainder)=((T0*)n);
  1961. }
  1962. while (!((_i)==(0)))
  1963. {
  1964. _i=(_i)-(1);
  1965. /*[IRF3.5put*/((/*RF2*/((T207*)((/*RF2*/(C)->_remainder/*28*/)))->_storage/*4*/))[_i]=(r161twin(((T161*)a3)));
  1966. /*]*/
  1967. }
  1968. }
  1969. /*FI]*/
  1970. }
  1971.  
  1972.  
  1973. void r206add_into(T206* C,T0* a1){
  1974. T0* _fn=NULL;
  1975. T2 _i=0;
  1976. {T68 se_tmp0;
  1977. (/*SFN*/C->_base_class)=(/*RF2*/((*(se_tmp0=X82start_position(r83item((T83*)((/*RF2*/(C)->_names/*8*/)),1)),&se_tmp0)))._base_class/*0*/);
  1978. }
  1979. _i=1;
  1980. while (!((_i)>(r83count((T83*)((/*RF2*/(C)->_names/*8*/))))))
  1981. {
  1982. _fn=r83item((T83*)((/*RF2*/(C)->_names/*8*/)),_i);
  1983. /*[IF*/
  1984. if(r91has(((T91*)a1),X82to_key(_fn))){
  1985. _fn=/*SSFRF4*//*X90first_name*//*(IRF4.6first_name*/(/*RF2*/(((T83*)((/*RF2*/((T198*)(r91at(((T91*)a1),X82to_key(_fn))))->_names/*8*/))))->_first/*0*/)/*)*/;
  1986. {T68 se_tmp0;
  1987. r66add_position((*(se_tmp0=X82start_position(_fn),&se_tmp0)));
  1988. }
  1989. {T68 se_tmp0;
  1990. r66add_position((*(se_tmp0=X82start_position(r83item((T83*)((/*RF2*/(C)->_names/*8*/)),_i)),&se_tmp0)));
  1991. }
  1992. /*[IRF3.6append*/{T0* b1=((T0*)ms90_41470);
  1993. r7append((T7*)(oBC66explanation),b1);
  1994. }/*]*/
  1995. /*[IRF3.6append*/{T0* b1=X82to_string(_fn);
  1996. r7append((T7*)(oBC66explanation),b1);
  1997. }/*]*/
  1998. /*[IRF3.6append*/{T0* b1=((T0*)ms14_46);
  1999. r7append((T7*)(oBC66explanation),b1);
  2000. }/*]*/
  2001. r66print_as_error((T66*)(oBC13eh));
  2002. }
  2003. else{
  2004. r91put(((T91*)a1),(T0*)C,X82to_key(_fn));
  2005. }
  2006. /*FI]*/
  2007. _i=(_i)+(1);
  2008. }
  2009. }
  2010.  
  2011.  
  2012. T6 r206can_hide(T206* C,T0* a1,T0* a2){
  2013. T6 R=0;
  2014. /*[IF*/
  2015. if(((/*RF2*/(C)->_result_type/*20*/))!=((void*)(X90result_type(a1)))){
  2016. /*[IF*/
  2017. if((((/*RF2*/(C)->_result_type/*20*/))==((void*)(NULL)))||((X90result_type(a1))==((void*)(NULL)))){
  2018. {T68 se_tmp0;
  2019. r66add_position((*(se_tmp0=X90start_position(a1),&se_tmp0)));
  2020. }
  2021. {T68 se_tmp0;
  2022. r206error((*(se_tmp0=r206start_position(C),&se_tmp0)),((T0*)ms90_64152));
  2023. }
  2024. }
  2025. /*FI]*/
  2026. }
  2027. /*FI]*/
  2028. /*[IF*/
  2029. if((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X90arguments(a1)))){
  2030. /*[IF*/
  2031. {/*AT*/{T68 se_tmp0;
  2032. r66add_position((*(se_tmp0=X90start_position(a1),&se_tmp0)));
  2033. }
  2034. {T68 se_tmp0;
  2035. r206error((*(se_tmp0=r206start_position(C),&se_tmp0)),((T0*)ms90_82612));
  2036. }
  2037. }
  2038. /*FI]*/
  2039. }
  2040. /*FI]*/
  2041. /*[IF*/
  2042. if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
  2043. /*[IF*/
  2044. if(((/*RF2*/(C)->_result_type/*20*/))!=((void*)(NULL))){
  2045. /*[IF*/
  2046. if(!(X52is_a_in((/*RF2*/(C)->_result_type/*20*/),X90result_type(a1),a2))){
  2047. /*[IRF3.6append*/{T0* b1=((T0*)ms90_51136);
  2048. r7append((T7*)(oBC66explanation),b1);
  2049. }/*]*/
  2050. /*[IRF3.6append*/{T0* b1=X52run_time_mark((/*RF2*/(((T50*)a2))->_current_type/*0*/));
  2051. r7append((T7*)(oBC66explanation),b1);
  2052. }/*]*/
  2053. /*[IRF3.6append*/{T0* b1=((T0*)ms14_46);
  2054. r7append((T7*)(oBC66explanation),b1);
  2055. }/*]*/
  2056. r66print_as_error((T66*)(oBC13eh));
  2057. }
  2058. /*FI]*/
  2059. }
  2060. /*FI]*/
  2061. }
  2062. /*FI]*/
  2063. /*[IF*/
  2064. if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
  2065. /*[IF*/
  2066. /*AF*//*AE*/
  2067. /*FI]*/
  2068. }
  2069. /*FI]*/
  2070. R=(/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0);
  2071. /*[IF*/
  2072. if(R){
  2073. r206merge_header_comments(C,a1);
  2074. }
  2075. /*FI]*/
  2076. return R;
  2077. }
  2078.  
  2079.  
  2080. void r206merge_header_comments(T206* C,T0* a1){
  2081. /*[IF*/
  2082. if((/*RF2*/((T49*)(oBC13small_eiffel))->_short_flag/*5*/)){
  2083. /*[IF*/
  2084. if(((/*RF2*/(C)->_header_comment/*12*/))==((void*)(NULL))){
  2085. (/*SFN*/C->_header_comment)=/*SSWARF2*//*X90header_comment*/(/*RF2*/(((T198*)a1))->_header_comment/*12*/);
  2086. }
  2087.  else if((/*SSWARF2*//*X90header_comment*/(/*RF2*/(((T198*)a1))->_header_comment/*12*/))==((void*)(NULL))){
  2088. X90set_header_comment(a1,(/*RF2*/(C)->_header_comment/*12*/));
  2089. }
  2090. /*FI]*/
  2091. }
  2092. /*FI]*/
  2093. }
  2094.  
  2095.  
  2096. T68 r206start_position(T206* C){
  2097. T68 R={NULL,0};
  2098. {T68 se_tmp0;
  2099. R=(*(se_tmp0=X82start_position(/*(IRF4.6first_name*/(/*RF2*/(((T83*)((/*RF2*/(C)->_names/*8*/))))->_first/*0*/)/*)*/),&se_tmp0));
  2100. }
  2101. return R;
  2102. }
  2103.  
  2104.  
  2105. T0* r230add_comment(T230* C,T0* a1){
  2106. T0* R=NULL;
  2107. /*[IF*/
  2108. if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r44count(((T44*)((/*RF2*/(((T81*)a1))->_list/*8*/))))/*)*/)==(0))){
  2109. R=((T0*)(C));
  2110. }
  2111. /*AF*/else{
  2112. {T224*n=((T224*)malloc(sizeof(*n))/*12*/);
  2113. *n=M224;
  2114. r224make(n,(T0*)C,a1);
  2115. R=((T0*)n);
  2116. }
  2117. }
  2118. /*FI]*/
  2119. return R;
  2120. }
  2121.  
  2122.  
  2123. void r230compile_to_c(T230* C){
  2124. /*[IF*/
  2125. if(r47no_check((T47*)(oBC13run_control))){
  2126. /*SSPRF3*//*X334c_assertion_flag*/r368c_assertion_flag((T368*)((/*RF2*/(C)->_run_feature/*12*/)));
  2127. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms230_716));
  2128. /*]*/
  2129. }
  2130. /*FI]*/
  2131. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms230_10128));
  2132. /*]*/
  2133. }
  2134.  
  2135.  
  2136. T0* r230to_runnable(T230* C,T0* a1){
  2137. T0* R=NULL;
  2138. T0* _rf=NULL;
  2139. _rf=r49top_rf((T49*)(oBC13small_eiffel));
  2140. /*[IF*/
  2141. if(((/*RF2*/(C)->_run_feature/*12*/))==((void*)(NULL))){
  2142. (/*SFN*/C->_run_feature)=_rf;
  2143. R=((T0*)(C));
  2144. }
  2145.  else if(((/*RF2*/(C)->_run_feature/*12*/))==((void*)(_rf))){
  2146. R=((T0*)(C));
  2147. }
  2148. else{
  2149. {T230*n=((T230*)malloc(sizeof(*n))/*16*/);
  2150. *n=M230;
  2151. /*[IRF3.3make*/((((T230*)(n)))->_start_position)=((/*RF2*/(C)->_start_position/*4*/));
  2152. /*]*/
  2153. R=((T0*)n);
  2154. }
  2155. R=r230to_runnable(((T230*)R),a1);
  2156. }
  2157. /*FI]*/
  2158. return R;
  2159. }
  2160.  
  2161.  
  2162. void r125compile_to_c_old(T125* C){
  2163. X104compile_to_c_old((/*RF2*/(C)->_target/*4*/));
  2164. /*[IF*/
  2165. {/*AT*//*SSPRF3*//*X139compile_to_c_old*/r139compile_to_c_old((T139*)((/*RF2*/(C)->_arguments/*8*/)));
  2166. }
  2167. /*FI]*/
  2168. }
  2169.  
  2170.  
  2171. T0* r125runnable_expression(T0* a1,T0* a2){
  2172. T0* R=NULL;
  2173. R=X104to_runnable(a1,a2);
  2174. /*[IF*/
  2175. if((R)==((void*)(NULL))){
  2176. {T68 se_tmp0;
  2177. r66add_position((*(se_tmp0=X104start_position(a1),&se_tmp0)));
  2178. }
  2179. r125fatal_error(((T0*)ms116_16290));
  2180. }
  2181. /*FI]*/
  2182. return R;
  2183. }
  2184.  
  2185.  
  2186. void r125run_feature_has_result(T125* C){
  2187. /*[IF*/
  2188. if((X334result_type((/*RF2*/(C)->_run_feature/*16*/)))==((void*)(NULL))){
  2189. {T68 se_tmp0;
  2190. r66add_position((*(se_tmp0=X334start_position((/*RF2*/(C)->_run_feature/*16*/)),&se_tmp0)));
  2191. }
  2192. r66add_position((/*RF2*/((T129*)((/*RF2*/(C)->_feature_name/*12*/)))->_start_position/*4*/));
  2193. r125fatal_error(((T0*)ms115_53215));
  2194. }
  2195. /*FI]*/
  2196. }
  2197.  
  2198.  
  2199. void r125run_feature_match(T125* C,T0* a1){
  2200. r125run_feature_has_result(C);
  2201. X139match_with((/*RF2*/(C)->_arguments/*8*/),(/*RF2*/(C)->_run_feature/*16*/),a1);
  2202. }
  2203.  
  2204.  
  2205. T0* r125add_comment(T125* C,T0* a1){
  2206. T0* R=NULL;
  2207. /*[IF*/
  2208. if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r44count(((T44*)((/*RF2*/(((T81*)a1))->_list/*8*/))))/*)*/)==(0))){
  2209. R=((T0*)(C));
  2210. }
  2211. else{
  2212. {T229*n=((T229*)malloc(sizeof(*n))/*12*/);
  2213. *n=M229;
  2214. r229make(n,(T0*)C,a1);
  2215. R=((T0*)n);
  2216. }
  2217. }
  2218. /*FI]*/
  2219. return R;
  2220. }
  2221.  
  2222.  
  2223. void r125with(T125* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
  2224. (/*SFN*/C->_target)=a1;
  2225. (/*SFN*/C->_feature_name)=a2;
  2226. (/*SFN*/C->_arguments)=a3;
  2227. (/*SFN*/C->_run_feature)=a4;
  2228. r125run_feature_match(C,a5);
  2229. }
  2230.  
  2231.  
  2232. void r125mapping_c_target(T125* C,T0* a1){
  2233. T0* _actual_type=NULL;
  2234. T6 _flag=0;
  2235. _flag=r325call_invariant_start(a1);
  2236. _actual_type=X52run_type(r125result_type(C));
  2237. /*[IF*/
  2238. if(X52is_reference(_actual_type)){
  2239. /*[IF*/
  2240. if(X52is_reference(a1)){
  2241. X52mapping_cast(a1);
  2242. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2243. T3 b1=((T3)'\50');
  2244. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2245. }/*]*/
  2246. /*]*/
  2247. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T125* C1=C;
  2248. r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
  2249. }/*]*/
  2250. /*]*/
  2251. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2252. T3 b1=((T3)'\51');
  2253. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2254. }/*]*/
  2255. /*]*/
  2256. }
  2257. else{
  2258. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T125* C1=C;
  2259. r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
  2260. }/*]*/
  2261. /*]*/
  2262. }
  2263. /*FI]*/
  2264. }
  2265. else{
  2266. /*[IF*/
  2267. if(X52is_reference(a1)){
  2268. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T125* C1=C;
  2269. r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
  2270. }/*]*/
  2271. /*]*/
  2272. }
  2273. else{
  2274. /*[IF*/
  2275. if(X52need_c_struct(a1)){
  2276. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2277. T3 b1=((T3)'\46');
  2278. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2279. }/*]*/
  2280. /*]*/
  2281. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2282. T3 b1=((T3)'\50');
  2283. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2284. }/*]*/
  2285. /*]*/
  2286. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T125* C1=C;
  2287. r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
  2288. }/*]*/
  2289. /*]*/
  2290. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2291. T3 b1=((T3)'\51');
  2292. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2293. }/*]*/
  2294. /*]*/
  2295. }
  2296. else{
  2297. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T125* C1=C;
  2298. r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
  2299. }/*]*/
  2300. /*]*/
  2301. }
  2302. /*FI]*/
  2303. }
  2304. /*FI]*/
  2305. }
  2306. /*FI]*/
  2307. /*[IF*/
  2308. if(_flag){
  2309. /*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T48* C1=(T48*)(oBC325out_c);
  2310. T3 b1=((T3)'\51');
  2311. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2312. }/*]*/
  2313. /*]*/
  2314. }
  2315. /*FI]*/
  2316. }
  2317.  
  2318.  
  2319. void r125afd_check(T125* C){
  2320. T0* _running=NULL;
  2321. T0* _rc=NULL;
  2322. /*[IF*/
  2323. if(((/*RF2*/(C)->_run_feature/*16*/))!=((void*)(NULL))){
  2324. _rc=X52run_class(X104result_type((/*RF2*/(C)->_target/*4*/)));
  2325. _running=(/*RF2*/(((T50*)_rc))->_running/*9*/);
  2326. /*[IF*/
  2327. if((_running)==((void*)(NULL))){
  2328. }
  2329.  else if((r53count(((T53*)_running)))>(1)){
  2330. r351update((/*RF2*/(C)->_target/*4*/),(/*RF2*/(C)->_run_feature/*16*/));
  2331. }
  2332. /*FI]*/
  2333. }
  2334. /*FI]*/
  2335. X104afd_check((/*RF2*/(C)->_target/*4*/));
  2336. /*[IF*/
  2337. {/*AT*//*SSPRF3*//*X139afd_check*/r139afd_check((T139*)((/*RF2*/(C)->_arguments/*8*/)));
  2338. }
  2339. /*FI]*/
  2340. }
  2341.  
  2342.  
  2343. void r125c_declare_for_old(T125* C){
  2344. X104c_declare_for_old((/*RF2*/(C)->_target/*4*/));
  2345. /*[IF*/
  2346. {/*AT*//*SSPRF3*//*X139c_declare_for_old*/r139c_declare_for_old((T139*)((/*RF2*/(C)->_arguments/*8*/)));
  2347. }
  2348. /*FI]*/
  2349. }
  2350.  
  2351.  
  2352. void r125collect_c_tmp(T125* C){
  2353. /*[IF*/
  2354. if(((/*RF2*/(C)->_run_feature/*16*/))!=((void*)(NULL))){
  2355. X334collect_c_tmp((/*RF2*/(C)->_run_feature/*16*/));
  2356. }
  2357. /*FI]*/
  2358. X104collect_c_tmp((/*RF2*/(C)->_target/*4*/));
  2359. /*[IF*/
  2360. if(((/*RF2*/(C)->_arguments/*8*/))!=((void*)(NULL))){
  2361. /*SSPRF3*//*X139collect_c_tmp*/r139collect_c_tmp((T139*)((/*RF2*/(C)->_arguments/*8*/)));
  2362. }
  2363. /*FI]*/
  2364. }
  2365.  
  2366.  
  2367. T0* r125operator(void){
  2368. T0* R=NULL;
  2369. R=((T0*)ms15_368);
  2370. return R;
  2371. }
  2372.  
  2373.  
  2374. T6 r125use_current(T125* C){
  2375. T6 R=0;
  2376. /*[IF*/
  2377. {/*AT*/R=/*SSFRF4*//*X139use_current*/r139use_current((T139*)((/*RF2*/(C)->_arguments/*8*/)));
  2378. }
  2379. /*FI]*/
  2380. /*[IF*/
  2381. if(R){
  2382. }
  2383.  else if(X104is_current((/*RF2*/(C)->_target/*4*/))){
  2384. R=X334use_current((/*RF2*/(C)->_run_feature/*16*/));
  2385. }
  2386. else{
  2387. R=X104use_current((/*RF2*/(C)->_target/*4*/));
  2388. }
  2389. /*FI]*/
  2390. return R;
  2391. }
  2392.  
  2393.  
  2394. T0* r125runnable_args(T0* a1,T0* a2){
  2395. T0* R=NULL;
  2396. R=X139to_runnable(a1,a2);
  2397. /*[IF*/
  2398. if((R)==((void*)(NULL))){
  2399. {T68 se_tmp0;
  2400. r66add_position((*(se_tmp0=X139start_position(a1),&se_tmp0)));
  2401. }
  2402. r125fatal_error(((T0*)ms14_12870));
  2403. }
  2404. /*FI]*/
  2405. return R;
  2406. }
  2407.  
  2408.  
  2409. T0* r125to_runnable(T125* C,T0* a1){
  2410. T0* R=NULL;
  2411. T0* _target_type=NULL;
  2412. T0* _argument_type=NULL;
  2413. T0* _rf=NULL;
  2414. T0* _a=NULL;
  2415. T0* _t=NULL;
  2416. _t=r125runnable_expression((/*RF2*/(C)->_target/*4*/),a1);
  2417. _a=r125runnable_args((/*RF2*/(C)->_arguments/*8*/),a1);
  2418. _target_type=X104result_type(_t);
  2419. _argument_type=X104result_type(r125arg1(C));
  2420. /*[IF*/
  2421. if(X52is_real(_argument_type)){
  2422. /*[IF*/
  2423. if(X52is_integer(_target_type)){
  2424. _t=r341implicit_cast((T341*)(oBC13conversion_handler),_t,_argument_type);
  2425. }
  2426. /*FI]*/
  2427. }
  2428.  else if(X52is_double(_argument_type)){
  2429. /*[IF*/
  2430. if((X52is_integer(_target_type))||(X52is_real(_target_type))){
  2431. _t=r341implicit_cast((T341*)(oBC13conversion_handler),_t,_argument_type);
  2432. }
  2433. /*FI]*/
  2434. }
  2435. /*FI]*/
  2436. _rf=r125run_feature_for(C,_t,a1);
  2437. /*[IF*/
  2438. if(((/*RF2*/(C)->_run_feature/*16*/))==((void*)(NULL))){
  2439. (/*SFN*/C->_target)=_t;
  2440. (/*SFN*/C->_arguments)=_a;
  2441. (/*SFN*/C->_run_feature)=_rf;
  2442. r125run_feature_match(C,a1);
  2443. R=((T0*)(C));
  2444. }
  2445.  else if(((_t)==((void*)((/*RF2*/(C)->_target/*4*/))))&&((_a)==((void*)((/*RF2*/(C)->_arguments/*8*/))))){
  2446. R=((T0*)(C));
  2447. }
  2448. else{
  2449. {T125*n=((T125*)malloc(sizeof(*n))/*24*/);
  2450. *n=M125;
  2451. r125with(n,_t,(/*RF2*/(C)->_feature_name/*12*/),_a,_rf,a1);
  2452. R=((T0*)n);
  2453. }
  2454. }
  2455. /*FI]*/
  2456. return R;
  2457. }
  2458.  
  2459.  
  2460. T2 r125to_integer(T125* C){
  2461. T2 R=0;
  2462. r125error(/*(IRF4.6start_position*/(/*RF2*/(((T129*)((/*RF2*/(C)->_feature_name/*12*/))))->_start_position/*4*/)/*)*/,((T0*)ms14_45441));
  2463. return R;
  2464. }
  2465.  
  2466.  
  2467. T6 r125is_static(T125* C){
  2468. T6 R=0;
  2469. /*[IF*/
  2470. if(X52is_integer(r125result_type(C))){
  2471. /*[IF*/
  2472. if((X104is_static((/*RF2*/(C)->_target/*4*/)))&&(X104is_static(r125arg1(C)))){
  2473. R=1;
  2474. (/*SFN*/C->_static_value_mem)=(X104static_value((/*RF2*/(C)->_target/*4*/)))%(X104static_value(r125arg1(C)));
  2475. }
  2476. /*FI]*/
  2477. }
  2478. /*FI]*/
  2479. return R;
  2480. }
  2481.  
  2482.  
  2483. void r125finalize(T125* C){
  2484. T0* _rf=NULL;
  2485. T0* _rc=NULL;
  2486. _rf=(/*RF2*/(C)->_run_feature/*16*/);
  2487. _rc=X52run_class(/*SSWARF2*//*X334current_type*/(/*RF2*/(((T368*)_rf))->_current_type/*8*/));
  2488. (/*SFN*/C->_run_feature)=r50dynamic((T50*)(/*(IRF4.6first*/((/*RF2*/((T53*)((/*RF2*/(((T50*)_rc))->_running/*9*/)))->_storage/*0*/))[0]/*)*/),_rf);
  2489. }
  2490.  
  2491.  
  2492. void r125error(T68 a1,T0* a2){
  2493. r66add_position(a1);
  2494. /*[IRF3.6append*/{T0* b1=a2;
  2495. r7append((T7*)(oBC66explanation),b1);
  2496. }/*]*/
  2497. r66print_as_error((T66*)(oBC13eh));
  2498. }
  2499.  
  2500.  
  2501. T0* r125result_type(T125* C){
  2502. T0* R=NULL;
  2503. T0* _tla=NULL;
  2504. R=X334result_type((/*RF2*/(C)->_run_feature/*16*/));
  2505. /*[IF*/
  2506. if(X52is_like_current(R)){
  2507. R=/*SSWARF2*//*X334current_type*/(/*RF2*/((T368*)((/*RF2*/(C)->_run_feature/*16*/)))->_current_type/*8*/);
  2508. }
  2509. else{
  2510. _tla=R;
  2511. if(NULL!=(_tla)){
  2512. switch(((T0*)_tla)->id){
  2513. case 257:
  2514. break;
  2515. default:
  2516. _tla=NULL;
  2517. }
  2518. }/*[IF*/
  2519. if((_tla)!=((void*)(NULL))){
  2520. R=X52run_type(X104result_type(r125arg1(C)));
  2521. }
  2522. /*FI]*/
  2523. }
  2524. /*FI]*/
  2525. return R;
  2526. }
  2527.  
  2528.  
  2529. T0* r125arg1(T125* C){
  2530. T0* R=NULL;
  2531. R=/*SSFRF4*//*X139first*//*(IRF4.3first*/(/*RF2*/((T139*)((/*RF2*/(C)->_arguments/*8*/)))->_first_one/*4*/)/*)*/;
  2532. return R;
  2533. }
  2534.  
  2535.  
  2536. T6 r125call_proc_call_stupid_switch(T125* C,T0* a1){
  2537. T6 R=0;
  2538. /*[IF*/
  2539. if(((/*RF2*/(C)->_arguments/*8*/))==((void*)(NULL))){
  2540. R=1;
  2541. }
  2542. else{
  2543. R=/*SSFRF4*//*X139stupid_switch*/r139stupid_switch((T139*)((/*RF2*/(C)->_arguments/*8*/)),a1);
  2544. }
  2545. /*FI]*/
  2546. /*[IF*/
  2547. if(R){
  2548. /*[IF*/
  2549. if(X104is_current((/*RF2*/(C)->_target/*4*/))){
  2550. /*[IF*/
  2551. if(r49same_base_feature((/*RF2*/(C)->_run_feature/*16*/),a1)){
  2552. R=(X334stupid_switch((/*RF2*/(C)->_run_feature/*16*/),a1))!=((void*)(NULL));
  2553. }
  2554. else{
  2555. R=0;
  2556. }
  2557. /*FI]*/
  2558. }
  2559. else{
  2560. R=X104stupid_switch((/*RF2*/(C)->_target/*4*/),a1);
  2561. }
  2562. /*FI]*/
  2563. }
  2564. /*FI]*/
  2565. return R;
  2566. }
  2567.  
  2568.  
  2569. T0* r125run_feature_for(T125* C,T0* a1,T0* a2){
  2570. T0* R=NULL;
  2571. T0* _bc=NULL;
  2572. T0* _rt=NULL;
  2573. T0* _rc=NULL;
  2574. _rt=X104result_type(a1);
  2575. /*[IF*/
  2576. if((_rt)!=((void*)(NULL))){
  2577. _rc=X52run_class(_rt);
  2578. /*[IF*/
  2579. if((_rc)!=((void*)(NULL))){
  2580. _bc=r50base_class(((T50*)_rc));
  2581. R=r51run_feature_for(((T51*)_bc),_rc,a1,(/*RF2*/(C)->_feature_name/*12*/),a2);
  2582. }
  2583. /*FI]*/
  2584. }
  2585. /*FI]*/
  2586. /*[IF*/
  2587. if((R)==((void*)(NULL))){
  2588. r66add_position((/*RF2*/((T129*)((/*RF2*/(C)->_feature_name/*12*/)))->_start_position/*4*/));
  2589. /*[IRF3.6append*/{T0* b1=((T0*)ms116_39025);
  2590. r7append((T7*)(oBC66explanation),b1);
  2591. }/*]*/
  2592. r66print_as_fatal_error((T66*)(oBC13eh));
  2593. }
  2594. /*FI]*/
  2595. return R;
  2596. }
  2597.  
  2598.  
  2599. T0* r125static_result_base_class(T125* C){
  2600. T0* R=NULL;
  2601. T0* _cn=NULL;
  2602. T0* _rt=NULL;
  2603. T0* _e_feature=NULL;
  2604. T0* _bc=NULL;
  2605. _bc=X104static_result_base_class((/*RF2*/(C)->_target/*4*/));
  2606. /*[IF*/
  2607. if((_bc)!=((void*)(NULL))){
  2608. _e_feature=r51e_feature(((T51*)_bc),(/*RF2*/(C)->_feature_name/*12*/));
  2609. /*[IF*/
  2610. if((_e_feature)!=((void*)(NULL))){
  2611. _rt=X90result_type(_e_feature);
  2612. /*[IF*/
  2613. if((_rt)!=((void*)(NULL))){
  2614. _cn=X52static_base_class_name(_rt);
  2615. /*[IF*/
  2616. if((_cn)!=((void*)(NULL))){
  2617. R=r61base_class(((T61*)_cn));
  2618. }
  2619. /*FI]*/
  2620. }
  2621. /*FI]*/
  2622. }
  2623. /*FI]*/
  2624. }
  2625. /*FI]*/
  2626. return R;
  2627. }
  2628.  
  2629.  
  2630. void r125make(T125* C,T0* a1,T68 a2,T0* a3){
  2631. (/*SFN*/C->_target)=a1;
  2632. {T129*n=((T129*)malloc(sizeof(*n))/*20*/);
  2633. *n=M129;
  2634. r129make(n,r125operator(),a2);
  2635. (/*SFN*/C->_feature_name)=((T0*)n);
  2636. }
  2637. {T139*n=((T139*)malloc(sizeof(*n))/*16*/);
  2638. *n=M139;
  2639. /*[IRF3.3make_1*/((((T139*)(n)))->_first_one)=(a3);
  2640. /*]*/
  2641. (/*SFN*/C->_arguments)=((T0*)n);
  2642. }
  2643. }
  2644.  
  2645.  
  2646. void r125fatal_error(T0* a1){
  2647. /*[IRF3.6append*/{T0* b1=a1;
  2648. r7append((T7*)(oBC66explanation),b1);
  2649. }/*]*/
  2650. r66print_as_fatal_error((T66*)(oBC13eh));
  2651. }
  2652.  
  2653.  
  2654. void r125assertion_check(T125* C,T3 a1){
  2655. /*[IF*/
  2656. if((a1)==(((T3)'R'))){
  2657. X334vape_check_from((/*RF2*/(C)->_run_feature/*16*/),/*(IRF4.6start_position*/(/*RF2*/(((T129*)((/*RF2*/(C)->_feature_name/*12*/))))->_start_position/*4*/)/*)*/);
  2658. }
  2659. /*FI]*/
  2660. X104assertion_check((/*RF2*/(C)->_target/*4*/),a1);
  2661. X104assertion_check(r125arg1(C),a1);
  2662. }
  2663.  
  2664.  
  2665. T6 r125stupid_switch(T125* C,T0* a1){
  2666. T6 R=0;
  2667. R=r125call_proc_call_stupid_switch(C,a1);
  2668. /*[IF*/
  2669. if(R){
  2670. R=!(X52is_native_array(r125result_type(C)));
  2671. }
  2672. /*FI]*/
  2673. return R;
  2674. }
  2675.  
  2676.  
  2677. void r344falling_down(T344* C,T0* a1){
  2678. T0* _rf3=NULL;
  2679. /*[IF*/
  2680. if(!((/*RF2*/(C)->_is_off/*0*/))){
  2681. _rf3=r50get_memory_dispose(((T50*)a1));
  2682. /*[IF*/
  2683. if((_rf3)!=((void*)(NULL))){
  2684. (/*SFN*/C->_dispose_flag)=1;
  2685. }
  2686. /*FI]*/
  2687. }
  2688. /*FI]*/
  2689. }
  2690.  
  2691.  
  2692. void r344define_gc_info(T0* a1){
  2693. T0* _rc=NULL;
  2694. T2 _i=0;
  2695. /*[IRF3.3clear*/((((T7*)((T7*)(oBC344header))))->_count)=(0);
  2696. /*]*/
  2697. r7append((T7*)(oBC344header),((T0*)ms14_1736a));
  2698. r7extend((T7*)(oBC344header),((T3)'\40'));
  2699. r7append((T7*)(oBC344header),((T0*)ms14_9023));
  2700. r7append((T7*)(oBC344header),((T0*)ms14_4320));
  2701. /*[IRF3.3clear*/((((T7*)((T7*)(oBC344body))))->_count)=(0);
  2702. /*]*/
  2703. r7append((T7*)(oBC344body),((T0*)ms344_44685));
  2704. _i=1;
  2705. while (!((_i)>((/*RF2*/(((T55*)a1))->_count/*36*/))))
  2706. {
  2707. _rc=r55item(((T55*)a1),_i);
  2708. r50gc_info_in(((T50*)_rc),oBC344body);
  2709. _i=(_i)+(1);
  2710. }
  2711. r7append((T7*)(oBC344body),((T0*)ms344_4979107));
  2712. r325put_c_function((T325*)(oBC13cpp),oBC344header,oBC344body);
  2713. }
  2714. T0*oBC344header=NULL;
  2715.  
  2716.  
  2717. T0* r344type_string(void){
  2718. if(fBC13type_string==0){fBC13type_string=1;{
  2719. T68 _unknown_position={NULL,0};
  2720. {T271*n=((T271*)malloc(sizeof(*n))/*8*/);
  2721. *n=M271;
  2722. oBC13type_string=((T0*)n);
  2723. r271make(n,_unknown_position);
  2724. }
  2725. }}
  2726. return oBC13type_string;
  2727. }
  2728.  
  2729.  
  2730. void r344initialize_runtime(T344* C){
  2731. /*[IF*/
  2732. if(!((/*RF2*/(C)->_is_off/*0*/))){
  2733. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms344_107256));
  2734. /*]*/
  2735. }
  2736. /*FI]*/
  2737. }
  2738.  
  2739.  
  2740. void r344allocation_of(T344* C,T0* a1,T0* a2){
  2741. /*[IRF3.3clear*/((((T7*)((T7*)(oBC344body))))->_count)=(0);
  2742. /*]*/
  2743. r344basic_allocation(C,a1,oBC344body,a2);
  2744. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC344body);
  2745. /*]*/
  2746. }
  2747.  
  2748.  
  2749. void r344switch_for(T344* C,T0* a1){
  2750. T0* _r=NULL;
  2751. T0* _ct=NULL;
  2752. /*[IRF3.3clear*/((((T7*)((T7*)(oBC344header))))->_count)=(0);
  2753. /*]*/
  2754. r7append((T7*)(oBC344header),((T0*)ms14_1736a));
  2755. r7extend((T7*)(oBC344header),((T3)'\40'));
  2756. r7extend((T7*)(oBC344header),((T3)'X'));
  2757. _ct=(/*RF2*/(((T50*)a1))->_current_type/*0*/);
  2758. X52gc_mark_in(_ct,oBC344header);
  2759. r7extend((T7*)(oBC344header),((T3)'\50'));
  2760. r7append((T7*)(oBC344header),((T0*)ms14_522));
  2761. r7extend((T7*)(oBC344header),((T3)'o'));
  2762. r7extend((T7*)(oBC344header),((T3)'\51'));
  2763. /*[IRF3.3clear*/((((T7*)((T7*)(oBC344body))))->_count)=(0);
  2764. /*]*/
  2765. _r=(/*RF2*/(((T50*)a1))->_running/*9*/);
  2766. r344sort_running(_r);
  2767. r7append((T7*)(oBC344body),((T0*)ms344_8764));
  2768. r344c_dicho(C,_r,1,(/*RF2*/(((T53*)_r))->_upper/*8*/));
  2769. r7extend((T7*)(oBC344body),((T3)'\175'));
  2770. r325put_c_function((T325*)(oBC13cpp),oBC344header,oBC344body);
  2771. }
  2772.  
  2773.  
  2774. void r344new_native9_in(T344* C,T0* a1,T6 a2){
  2775. /*[IF*/
  2776. if(((/*RF2*/(C)->_is_off/*0*/))||(!(a2))){
  2777. r7append(((T7*)a1),((T0*)ms15_6762));
  2778. }
  2779. else{
  2780. r7append(((T7*)a1),((T0*)ms14_990));
  2781. r7extend(((T7*)a1),((T3)'9'));
  2782. }
  2783. /*FI]*/
  2784. }
  2785.  
  2786.  
  2787. void r344define_gc_start(T344* C,T0* a1,T0* a2){
  2788. /*[IRF3.3clear*/((((T7*)((T7*)(oBC344body))))->_count)=(0);
  2789. /*]*/
  2790. r7append((T7*)(oBC344body),((T0*)ms344_47450));
  2791. /*[IF*/
  2792. if((/*RF2*/(C)->_info_flag/*1*/)){
  2793. r7append((T7*)(oBC344body),((T0*)ms344_61768));
  2794. }
  2795. /*FI]*/
  2796. r7append((T7*)(oBC344body),((T0*)ms344_627165));
  2797. r2append_in(X52id(a1),oBC344body);
  2798. r7append((T7*)(oBC344body),((T0*)ms344_44550));
  2799. r344just_before_mark(a2);
  2800. r7append((T7*)(oBC344body),((T0*)ms14_8764));
  2801. r2append_in(X52id(a1),oBC344body);
  2802. r7append((T7*)(oBC344body),((T0*)ms344_78660));
  2803. /*[IF*/
  2804. if((/*RF2*/((T47*)(oBC13run_control))->_generator_used/*10*/)){
  2805. r7append((T7*)(oBC344body),((T0*)ms344_107092a));
  2806. }
  2807. /*FI]*/
  2808. /*[IF*/
  2809. if((/*RF2*/((T47*)(oBC13run_control))->_generating_type_used/*9*/)){
  2810. r7append((T7*)(oBC344body),((T0*)ms344_107092));
  2811. }
  2812. /*FI]*/
  2813. r7append((T7*)(oBC344body),((T0*)ms344_63916));
  2814. /*[IF*/
  2815. if((/*RF2*/(C)->_info_flag/*1*/)){
  2816. r7append((T7*)(oBC344body),((T0*)ms344_11020));
  2817. }
  2818. /*FI]*/
  2819. r325put_c_function((T325*)(oBC13cpp),((T0*)ms344_23655),oBC344body);
  2820. }
  2821.  
  2822.  
  2823. void r344just_before_mark(T0* a1){
  2824. T0* _rc=NULL;
  2825. T2 _i=0;
  2826. _i=1;
  2827. while (!((_i)>((/*RF2*/(((T55*)a1))->_count/*36*/))))
  2828. {
  2829. _rc=r55item(((T55*)a1),_i);
  2830. r50just_before_gc_mark_in(((T50*)_rc),oBC344body);
  2831. _i=(_i)+(1);
  2832. }
  2833. }
  2834. T0*oBC344run_class_list=NULL;
  2835.  
  2836.  
  2837. void r344new_manifest_string_in(T344* C,T0* a1,T6 a2){
  2838. /*[IF*/
  2839. if(((/*RF2*/(C)->_is_off/*0*/))||(!(a2))){
  2840. r7append(((T7*)a1),((T0*)ms344_14337));
  2841. }
  2842. else{
  2843. r7append(((T7*)a1),((T0*)ms344_57664));
  2844. }
  2845. /*FI]*/
  2846. /*[IF*/
  2847. if((a2)&&(r50is_tagged((T50*)(r271run_class((T271*)(r344type_string())))))){
  2848. r7append(((T7*)a1),((T0*)ms344_4653));
  2849. }
  2850. /*FI]*/
  2851. }
  2852.  
  2853.  
  2854. void r344c_dicho(T344* C,T0* a1,T2 a2,T2 a3){
  2855. T0* _rc=NULL;
  2856. T2 _m=0;
  2857. /*[IF*/
  2858. if((a2)==(a3)){
  2859. _rc=r53item(((T53*)a1),a2);
  2860. X52gc_mark_in((/*RF2*/(((T50*)_rc))->_current_type/*0*/),oBC344body);
  2861. r7extend((T7*)(oBC344body),((T3)'\50'));
  2862. r7extend((T7*)(oBC344body),((T3)'\50'));
  2863. r7extend((T7*)(oBC344body),((T3)'T'));
  2864. r2append_in((/*RF2*/(((T50*)_rc))->_id/*4*/),oBC344body);
  2865. r7extend((T7*)(oBC344body),((T3)'\52'));
  2866. r7extend((T7*)(oBC344body),((T3)'\51'));
  2867. r7extend((T7*)(oBC344body),((T3)'o'));
  2868. r7extend((T7*)(oBC344body),((T3)'\51'));
  2869. r7append((T7*)(oBC344body),((T0*)ms14_138));
  2870. }
  2871. else{
  2872. _m=((a2)+(a3))/(2);
  2873. _rc=r53item(((T53*)a1),_m);
  2874. r7append((T7*)(oBC344body),((T0*)ms344_6048));
  2875. r2append_in((/*RF2*/(((T50*)_rc))->_id/*4*/),oBC344body);
  2876. r7append((T7*)(oBC344body),((T0*)ms344_824));
  2877. r344c_dicho(C,a1,a2,_m);
  2878. r7append((T7*)(oBC344body),((T0*)ms344_5139));
  2879. r344c_dicho(C,a1,(_m)+(1),a3);
  2880. r7extend((T7*)(oBC344body),((T3)'\175'));
  2881. }
  2882. /*FI]*/
  2883. }
  2884.  
  2885.  
  2886. void r344no_gc(T344* C){
  2887. (/*SFN*/C->_is_off)=1;
  2888. (/*SFN*/C->_info_flag)=0;
  2889. }
  2890.  
  2891.  
  2892. void r344basic_allocation(T344* C,T0* a1,T0* a2,T0* a3){
  2893. T2 _id=0;
  2894. T0* _ct=NULL;
  2895. _ct=(/*RF2*/(((T50*)a3))->_current_type/*0*/);
  2896. _id=(/*RF2*/(((T50*)a3))->_id/*4*/);
  2897. r7append(((T7*)a2),a1);
  2898. r7extend(((T7*)a2),((T3)'\75'));
  2899. /*[IF*/
  2900. if((/*RF2*/(C)->_is_off/*0*/)){
  2901. r7append(((T7*)a2),((T0*)ms344_492));
  2902. r2append_in(_id,a2);
  2903. /*[IF*/
  2904. if(X52need_c_struct(_ct)){
  2905. r7append(((T7*)a2),((T0*)ms344_18887));
  2906. r7append(((T7*)a2),a1);
  2907. r7append(((T7*)a2),((T0*)ms344_684));
  2908. r2append_in(r50c_sizeof(((T50*)a3)),a2);
  2909. r7append(((T7*)a2),((T0*)ms344_2706));
  2910. r7append(((T7*)a2),a1);
  2911. r7append(((T7*)a2),((T0*)ms344_276));
  2912. r2append_in(_id,a2);
  2913. }
  2914. else{
  2915. r7append(((T7*)a2),((T0*)ms344_10668));
  2916. }
  2917. /*FI]*/
  2918. }
  2919.  else if((a1)==((void*)(((T0*)ms14_46782)))){
  2920. r7append(((T7*)a2),((T0*)ms344_492a));
  2921. r2append_in(_id,a2);
  2922. r7append(((T7*)a2),((T0*)ms344_474924));
  2923. r2append_in(_id,a2);
  2924. }
  2925. else{
  2926. r7append(((T7*)a2),((T0*)ms14_990));
  2927. r2append_in(_id,a2);
  2928. r7append(((T7*)a2),((T0*)ms14_162));
  2929. }
  2930. /*FI]*/
  2931. r7append(((T7*)a2),((T0*)ms14_138));
  2932. }
  2933.  
  2934.  
  2935. void r344allocation(T344* C,T0* a1){
  2936. /*[IRF3.3clear*/((((T7*)((T7*)(oBC344body))))->_count)=(0);
  2937. /*]*/
  2938. r7extend((T7*)(oBC344body),((T3)'T'));
  2939. r2append_in((/*RF2*/(((T50*)a1))->_id/*4*/),oBC344body);
  2940. r7extend((T7*)(oBC344body),((T3)'\52'));
  2941. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC344body);
  2942. /*]*/
  2943. r344allocation_of(C,((T0*)ms344_110),a1);
  2944. }
  2945.  
  2946.  
  2947. void r344define2(T344* C){
  2948. T0* _root_type=NULL;
  2949. T0* _rcd=NULL;
  2950. T0* _rc=NULL;
  2951. T2 _i=0;
  2952. _rcd=oBC49run_class_dictionary;
  2953. _root_type=(/*RF2*/((T368*)((/*RF2*/((T49*)(oBC13small_eiffel))->_root_procedure/*0*/)))->_current_type/*8*/);
  2954. /*[IRF3.2define_manifest_string_mark*/{T0* _ms=NULL;
  2955. T2 _function_count=0;
  2956. T2 _ms_count=0;
  2957. T2 _mdc=0;
  2958. T2 _i=0;
  2959. _mdc=(/*RF2*/((T367*)(oBC366mangling_dictionary))->_count/*40*/);
  2960. _function_count=1;
  2961. r366define_manifest_string_mark_header(_function_count);
  2962. _i=1;
  2963. while (!((_i)>(_mdc)))
  2964. {
  2965. /*[IF*/
  2966. if((_ms_count)>(300)){
  2967. _ms_count=0;
  2968. _function_count=(_function_count)+(1);
  2969. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms366_53260));
  2970. /*]*/
  2971. /*[IRF3.5put_integer*/r48put_integer(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),_function_count);
  2972. /*]*/
  2973. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_600));
  2974. /*]*/
  2975. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_270a));
  2976. /*]*/
  2977. r366define_manifest_string_mark_header(_function_count);
  2978. }
  2979. /*FI]*/
  2980. _ms=r367item((T367*)(oBC366mangling_dictionary),_i);
  2981. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms366_7020));
  2982. /*]*/
  2983. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),(/*RF2*/(((T161*)_ms))->_mangling/*28*/));
  2984. /*]*/
  2985. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms366_42441));
  2986. /*]*/
  2987. _ms_count=(_ms_count)+(1);
  2988. _i=(_i)+(1);
  2989. }
  2990. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_270a));
  2991. /*]*/
  2992. }/*]*/
  2993. /*[IRF3.3clear*/((((T7*)((T7*)(oBC344body))))->_count)=(0);
  2994. /*]*/
  2995. r363gc_mark_in(oBC344body);
  2996. r325put_c_function((T325*)(oBC13cpp),((T0*)ms344_47995),oBC344body);
  2997. r43put_mark_stack_and_registers((T43*)(r344system_tools()));
  2998. r344define_gc_start(C,_root_type,_rcd);
  2999. r325swap_on_h((T325*)(oBC13cpp));
  3000. _i=1;
  3001. while (!((_i)>((/*RF2*/(((T55*)_rcd))->_count/*36*/))))
  3002. {
  3003. _rc=r55item(((T55*)_rcd),_i);
  3004. r50gc_define1(((T50*)_rc));
  3005. _i=(_i)+(1);
  3006. }
  3007. /*[IRF3.3swap_on_c*/((((T325*)((T325*)(oBC13cpp))))->_current_out)=(oBC325out_c);
  3008. /*]*/
  3009. _i=1;
  3010. while (!((_i)>((/*RF2*/(((T55*)_rcd))->_count/*36*/))))
  3011. {
  3012. _rc=r55item(((T55*)_rcd),_i);
  3013. r50gc_define2(((T50*)_rc));
  3014. _i=(_i)+(1);
  3015. }
  3016. _i=(/*RF2*/((T56*)(oBC344run_class_list))->_upper/*8*/);
  3017. while (!((_i)<(0)))
  3018. {
  3019. r344switch_for(C,/*(IRF4.6item*/((/*RF2*/((T56*)(oBC344run_class_list))->_storage/*0*/))[_i]/*)*/);
  3020. _i=(_i)-(1);
  3021. }
  3022. /*[IF*/
  3023. if((/*RF2*/(C)->_info_flag/*1*/)){
  3024. r344define_gc_info(_rcd);
  3025. }
  3026. /*FI]*/
  3027. }
  3028.  
  3029.  
  3030. void r344set_info_flag(T344* C){
  3031. (/*SFN*/C->_is_off)=0;
  3032. (/*SFN*/C->_info_flag)=1;
  3033. }
  3034.  
  3035.  
  3036. void r344sort_running(T0* a1){
  3037. T6 _moved=0;
  3038. T2 _buble=0;
  3039. T2 _max=0;
  3040. T2 _min=0;
  3041. _max=(/*RF2*/(((T53*)a1))->_upper/*8*/);
  3042. _min=1;
  3043. _moved=1;
  3044. while (!(!(_moved)))
  3045. {
  3046. _moved=0;
  3047. /*[IF*/
  3048. if(((_max)-(_min))>(0)){
  3049. _buble=(_min)+(1);
  3050. while (!((_buble)>(_max)))
  3051. {
  3052. /*[IF*/
  3053. if(((/*RF2*/((T50*)(r53item(((T53*)a1),(_buble)-(1))))->_id/*4*/))>((/*RF2*/((T50*)(r53item(((T53*)a1),_buble)))->_id/*4*/))){
  3054. r53swap(((T53*)a1),(_buble)-(1),_buble);
  3055. _moved=1;
  3056. }
  3057. /*FI]*/
  3058. _buble=(_buble)+(1);
  3059. }
  3060. _max=(_max)-(1);
  3061. }
  3062. /*FI]*/
  3063. /*[IF*/
  3064. if((_moved)&&(((_max)-(_min))>(0))){
  3065. _moved=0;
  3066. _buble=(_max)-(1);
  3067. while (!((_buble)<(_min)))
  3068. {
  3069. /*[IF*/
  3070. if(((/*RF2*/((T50*)(r53item(((T53*)a1),_buble)))->_id/*4*/))>((/*RF2*/((T50*)(r53item(((T53*)a1),(_buble)+(1))))->_id/*4*/))){
  3071. r53swap(((T53*)a1),_buble,(_buble)+(1));
  3072. _moved=1;
  3073. }
  3074. /*FI]*/
  3075. _buble=(_buble)-(1);
  3076. }
  3077. _min=(_min)+(1);
  3078. }
  3079. /*FI]*/
  3080. }
  3081. }
  3082.  
  3083.  
  3084. void r344mark_for(T0* a1,T0* a2,T0* a3){
  3085. T0* _r=NULL;
  3086. T0* _ct=NULL;
  3087. _r=(/*RF2*/(((T50*)a3))->_running/*9*/);
  3088. /*[IF*/
  3089. if((_r)!=((void*)(NULL))){
  3090. _ct=(/*RF2*/(((T50*)a3))->_current_type/*0*/);
  3091. /*[IF*/
  3092. if((X52is_reference(_ct))||(X52is_native_array(_ct))){
  3093. r7append(((T7*)a1),((T0*)ms344_8631));
  3094. r7append(((T7*)a1),a2);
  3095. r7extend(((T7*)a1),((T3)'\51'));
  3096. }
  3097. /*FI]*/
  3098. /*[IF*/
  3099. if((r53count(((T53*)_r)))>(1)){
  3100. r325incr_switch_count((T325*)(oBC13cpp));
  3101. /*[IF*/
  3102. if(!(r56fast_has((T56*)(oBC344run_class_list),a3))){
  3103. r56add_last((T56*)(oBC344run_class_list),a3);
  3104. }
  3105. /*FI]*/
  3106. r7extend(((T7*)a1),((T3)'X'));
  3107. X52gc_mark_in(_ct,a1);
  3108. }
  3109. else{
  3110. r325incr_direct_call_count((T325*)(oBC13cpp));
  3111. _ct=(/*RF2*/((T50*)(/*(IRF4.6first*/((/*RF2*/(((T53*)_r))->_storage/*0*/))[0]/*)*/))->_current_type/*0*/);
  3112. X52gc_mark_in(_ct,a1);
  3113. }
  3114. /*FI]*/
  3115. r7extend(((T7*)a1),((T3)'\50'));
  3116. /*[IF*/
  3117. if(X52is_reference(_ct)){
  3118. r7extend(((T7*)a1),((T3)'\50'));
  3119. /*[IF*/
  3120. if((r53count(((T53*)_r)))>(1)){
  3121. r7append(((T7*)a1),((T0*)ms344_522));
  3122. }
  3123. else{
  3124. X52c_type_for_target_in(_ct,a1);
  3125. }
  3126. /*FI]*/
  3127. r7extend(((T7*)a1),((T3)'\51'));
  3128. }
  3129.  else if(X52is_user_expanded(_ct)){
  3130. r7extend(((T7*)a1),((T3)'\46'));
  3131. }
  3132. /*FI]*/
  3133. r7extend(((T7*)a1),((T3)'\50'));
  3134. r7append(((T7*)a1),a2);
  3135. r7append(((T7*)a1),((T0*)ms14_604));
  3136. }
  3137. /*FI]*/
  3138. }
  3139.  
  3140.  
  3141. T0* r344system_tools(void){
  3142. if(fBC13system_tools==0){fBC13system_tools=1;{
  3143. {T43*n=((T43*)malloc(sizeof(*n))/*17*/);
  3144. *n=M43;
  3145. oBC13system_tools=((T0*)n);
  3146. r43make(n);
  3147. }
  3148. }}
  3149. return oBC13system_tools;
  3150. }
  3151.  
  3152.  
  3153. void r344memory_dispose(T0* a1,T0* a2,T0* a3){
  3154. T6 _no_check=0;
  3155. T0* _rf3=NULL;
  3156. _rf3=r50get_memory_dispose(((T50*)a3));
  3157. /*[IF*/
  3158. if((_rf3)!=((void*)(NULL))){
  3159. r7append(((T7*)a1),((T0*)ms344_1148));
  3160. r7append(((T7*)a1),a2);
  3161. r7append(((T7*)a1),((T0*)ms344_130882));
  3162. _no_check=r47no_check((T47*)(oBC13run_control));
  3163. /*[IF*/
  3164. if(_no_check){
  3165. r7append(((T7*)a1),((T0*)ms344_479952));
  3166. }
  3167. /*FI]*/
  3168. r7extend(((T7*)a1),((T3)'r'));
  3169. r2append_in((/*RF2*/(((T50*)a3))->_id/*4*/),a1);
  3170. X82mapping_c_in((/*RF2*/(((T368*)_rf3))->_name/*12*/),a1);
  3171. r7extend(((T7*)a1),((T3)'\50'));
  3172. /*[IF*/
  3173. if(_no_check){
  3174. r7append(((T7*)a1),((T0*)ms344_1188));
  3175. }
  3176. /*FI]*/
  3177. /*[IF*/
  3178. if((_no_check)||(r368use_current(((T368*)_rf3)))){
  3179. r7extend(((T7*)a1),((T3)'\50'));
  3180. X52c_type_for_target_in((/*RF2*/(((T50*)a3))->_current_type/*0*/),a1);
  3181. r7extend(((T7*)a1),((T3)'\51'));
  3182. r7append(((T7*)a1),a2);
  3183. }
  3184. /*FI]*/
  3185. r7append(((T7*)a1),((T0*)ms14_330));
  3186. /*[IF*/
  3187. if(_no_check){
  3188. r7append(((T7*)a1),((T0*)ms344_120379));
  3189. }
  3190. /*FI]*/
  3191. r7extend(((T7*)a1),((T3)'\175'));
  3192. }
  3193. /*FI]*/
  3194. }
  3195.  
  3196.  
  3197. void r344gc_info_before_exit(T344* C){
  3198. /*[IF*/
  3199. if((/*RF2*/(C)->_is_off/*0*/)){
  3200. }
  3201.  else if((/*RF2*/(C)->_info_flag/*1*/)){
  3202. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms344_79398));
  3203. /*]*/
  3204. }
  3205. /*FI]*/
  3206. /*[IF*/
  3207. if((!((/*RF2*/(C)->_is_off/*0*/)))&&((/*RF2*/(C)->_dispose_flag/*2*/))){
  3208. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms344_19812));
  3209. /*]*/
  3210. }
  3211. /*FI]*/
  3212. }
  3213. T0*oBC344body=NULL;
  3214.  
  3215.  
  3216. void r142compile_to_c_old(T142* C){
  3217. X104compile_to_c_old((/*RF2*/(C)->_target/*4*/));
  3218. /*[IF*/
  3219. {/*AT*//*SSPRF3*//*X139compile_to_c_old*/r139compile_to_c_old((T139*)((/*RF2*/(C)->_arguments/*12*/)));
  3220. }
  3221. /*FI]*/
  3222. }
  3223.  
  3224.  
  3225. T0* r142runnable_expression(T0* a1,T0* a2){
  3226. T0* R=NULL;
  3227. R=X104to_runnable(a1,a2);
  3228. /*[IF*/
  3229. if((R)==((void*)(NULL))){
  3230. {T68 se_tmp0;
  3231. r66add_position((*(se_tmp0=X104start_position(a1),&se_tmp0)));
  3232. }
  3233. r142fatal_error(((T0*)ms116_16290));
  3234. }
  3235. /*FI]*/
  3236. return R;
  3237. }
  3238.  
  3239.  
  3240. void r142run_feature_has_result(T142* C){
  3241. /*[IF*/
  3242. if((X334result_type((/*RF2*/(C)->_run_feature/*16*/)))==((void*)(NULL))){
  3243. {T68 se_tmp0;
  3244. r66add_position((*(se_tmp0=X334start_position((/*RF2*/(C)->_run_feature/*16*/)),&se_tmp0)));
  3245. }
  3246. {T68 se_tmp0;
  3247. r66add_position((*(se_tmp0=X82start_position((/*RF2*/(C)->_feature_name/*8*/)),&se_tmp0)));
  3248. }
  3249. r142fatal_error(((T0*)ms115_53215));
  3250. }
  3251. /*FI]*/
  3252. }
  3253.  
  3254.  
  3255. T2 r142static_value(T142* C){
  3256. T2 R=0;
  3257. T0* _rf=NULL;
  3258. T0* _running=NULL;
  3259. _running=(/*RF2*/((T50*)(/*SSFRF4*//*X334run_class*/r368run_class((T368*)((/*RF2*/(C)->_run_feature/*16*/)))))->_running/*9*/);
  3260. /*[IF*/
  3261. if(((_running)!=((void*)(NULL)))&&((r53count(((T53*)_running)))==(1))){
  3262. _rf=r50dynamic((T50*)(/*(IRF4.6first*/((/*RF2*/(((T53*)_running))->_storage/*0*/))[0]/*)*/),(/*RF2*/(C)->_run_feature/*16*/));
  3263. /*[IF*/
  3264. if(X334is_static(_rf)){
  3265. R=X334static_value_mem(_rf);
  3266. }
  3267. /*FI]*/
  3268. }
  3269. /*FI]*/
  3270. return R;
  3271. }
  3272.  
  3273.  
  3274. void r142run_feature_match(T142* C,T0* a1){
  3275. r142run_feature_has_result(C);
  3276. X139match_with((/*RF2*/(C)->_arguments/*12*/),(/*RF2*/(C)->_run_feature/*16*/),a1);
  3277. }
  3278.  
  3279.  
  3280. T0* r142add_comment(T142* C,T0* a1){
  3281. T0* R=NULL;
  3282. /*[IF*/
  3283. if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r44count(((T44*)((/*RF2*/(((T81*)a1))->_list/*8*/))))/*)*/)==(0))){
  3284. R=((T0*)(C));
  3285. }
  3286. else{
  3287. {T229*n=((T229*)malloc(sizeof(*n))/*12*/);
  3288. *n=M229;
  3289. r229make(n,(T0*)C,a1);
  3290. R=((T0*)n);
  3291. }
  3292. }
  3293. /*FI]*/
  3294. return R;
  3295. }
  3296.  
  3297.  
  3298. void r142with(T142* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
  3299. (/*SFN*/C->_target)=a1;
  3300. (/*SFN*/C->_feature_name)=a2;
  3301. (/*SFN*/C->_arguments)=a3;
  3302. (/*SFN*/C->_run_feature)=a4;
  3303. r142run_feature_match(C,a5);
  3304. }
  3305.  
  3306.  
  3307. void r142mapping_c_target(T142* C,T0* a1){
  3308. T0* _actual_type=NULL;
  3309. T6 _flag=0;
  3310. _flag=r325call_invariant_start(a1);
  3311. _actual_type=X52run_type(r142result_type(C));
  3312. /*[IF*/
  3313. if(X52is_reference(_actual_type)){
  3314. /*[IF*/
  3315. if(X52is_reference(a1)){
  3316. X52mapping_cast(a1);
  3317. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3318. T3 b1=((T3)'\50');
  3319. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3320. }/*]*/
  3321. /*]*/
  3322. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T142* C1=C;
  3323. r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
  3324. }/*]*/
  3325. /*]*/
  3326. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3327. T3 b1=((T3)'\51');
  3328. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3329. }/*]*/
  3330. /*]*/
  3331. }
  3332. else{
  3333. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T142* C1=C;
  3334. r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
  3335. }/*]*/
  3336. /*]*/
  3337. }
  3338. /*FI]*/
  3339. }
  3340. else{
  3341. /*[IF*/
  3342. if(X52is_reference(a1)){
  3343. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T142* C1=C;
  3344. r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
  3345. }/*]*/
  3346. /*]*/
  3347. }
  3348. else{
  3349. /*[IF*/
  3350. if(X52need_c_struct(a1)){
  3351. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3352. T3 b1=((T3)'\46');
  3353. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3354. }/*]*/
  3355. /*]*/
  3356. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3357. T3 b1=((T3)'\50');
  3358. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3359. }/*]*/
  3360. /*]*/
  3361. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T142* C1=C;
  3362. r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
  3363. }/*]*/
  3364. /*]*/
  3365. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3366. T3 b1=((T3)'\51');
  3367. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3368. }/*]*/
  3369. /*]*/
  3370. }
  3371. else{
  3372. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T142* C1=C;
  3373. r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
  3374. }/*]*/
  3375. /*]*/
  3376. }
  3377. /*FI]*/
  3378. }
  3379. /*FI]*/
  3380. }
  3381. /*FI]*/
  3382. /*[IF*/
  3383. if(_flag){
  3384. /*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T48* C1=(T48*)(oBC325out_c);
  3385. T3 b1=((T3)'\51');
  3386. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3387. }/*]*/
  3388. /*]*/
  3389. }
  3390. /*FI]*/
  3391. }
  3392.  
  3393.  
  3394. void r142afd_check(T142* C){
  3395. T0* _running=NULL;
  3396. T0* _rc=NULL;
  3397. /*[IF*/
  3398. if(((/*RF2*/(C)->_run_feature/*16*/))!=((void*)(NULL))){
  3399. _rc=X52run_class(X104result_type((/*RF2*/(C)->_target/*4*/)));
  3400. _running=(/*RF2*/(((T50*)_rc))->_running/*9*/);
  3401. /*[IF*/
  3402. if((_running)==((void*)(NULL))){
  3403. }
  3404.  else if((r53count(((T53*)_running)))>(1)){
  3405. r351update((/*RF2*/(C)->_target/*4*/),(/*RF2*/(C)->_run_feature/*16*/));
  3406. }
  3407. /*FI]*/
  3408. }
  3409. /*FI]*/
  3410. X104afd_check((/*RF2*/(C)->_target/*4*/));
  3411. /*[IF*/
  3412. {/*AT*//*SSPRF3*//*X139afd_check*/r139afd_check((T139*)((/*RF2*/(C)->_arguments/*12*/)));
  3413. }
  3414. /*FI]*/
  3415. }
  3416.  
  3417.  
  3418. void r142c_declare_for_old(T142* C){
  3419. X104c_declare_for_old((/*RF2*/(C)->_target/*4*/));
  3420. /*[IF*/
  3421. {/*AT*//*SSPRF3*//*X139c_declare_for_old*/r139c_declare_for_old((T139*)((/*RF2*/(C)->_arguments/*12*/)));
  3422. }
  3423. /*FI]*/
  3424. }
  3425.  
  3426.  
  3427. void r142collect_c_tmp(T142* C){
  3428. /*[IF*/
  3429. if(((/*RF2*/(C)->_run_feature/*16*/))!=((void*)(NULL))){
  3430. X334collect_c_tmp((/*RF2*/(C)->_run_feature/*16*/));
  3431. }
  3432. /*FI]*/
  3433. X104collect_c_tmp((/*RF2*/(C)->_target/*4*/));
  3434. /*[IF*/
  3435. if(((/*RF2*/(C)->_arguments/*12*/))!=((void*)(NULL))){
  3436. /*SSPRF3*//*X139collect_c_tmp*/r139collect_c_tmp((T139*)((/*RF2*/(C)->_arguments/*12*/)));
  3437. }
  3438. /*FI]*/
  3439. }
  3440.  
  3441.  
  3442. T6 r142use_current(T142* C){
  3443. T6 R=0;
  3444. /*[IF*/
  3445. {/*AT*/R=/*SSFRF4*//*X139use_current*/r139use_current((T139*)((/*RF2*/(C)->_arguments/*12*/)));
  3446. }
  3447. /*FI]*/
  3448. /*[IF*/
  3449. if(R){
  3450. }
  3451.  else if(X104is_current((/*RF2*/(C)->_target/*4*/))){
  3452. R=X334use_current((/*RF2*/(C)->_run_feature/*16*/));
  3453. }
  3454. else{
  3455. R=X104use_current((/*RF2*/(C)->_target/*4*/));
  3456. }
  3457. /*FI]*/
  3458. return R;
  3459. }
  3460.  
  3461.  
  3462. T0* r142runnable_args(T0* a1,T0* a2){
  3463. T0* R=NULL;
  3464. R=X139to_runnable(a1,a2);
  3465. /*[IF*/
  3466. if((R)==((void*)(NULL))){
  3467. {T68 se_tmp0;
  3468. r66add_position((*(se_tmp0=X139start_position(a1),&se_tmp0)));
  3469. }
  3470. r142fatal_error(((T0*)ms14_12870));
  3471. }
  3472. /*FI]*/
  3473. return R;
  3474. }
  3475.  
  3476.  
  3477. T0* r142to_runnable(T142* C,T0* a1){
  3478. T0* R=NULL;
  3479. T0* _rf=NULL;
  3480. T0* _a=NULL;
  3481. T0* _t=NULL;
  3482. _t=r142runnable_expression((/*RF2*/(C)->_target/*4*/),a1);
  3483. _a=r142runnable_args((/*RF2*/(C)->_arguments/*12*/),a1);
  3484. _rf=r142run_feature_for(C,_t,a1);
  3485. /*[IF*/
  3486. if(((/*RF2*/(C)->_run_feature/*16*/))==((void*)(NULL))){
  3487. (/*SFN*/C->_target)=_t;
  3488. (/*SFN*/C->_arguments)=_a;
  3489. (/*SFN*/C->_run_feature)=_rf;
  3490. r142run_feature_match(C,a1);
  3491. R=((T0*)(C));
  3492. }
  3493.  else if(((_t)==((void*)((/*RF2*/(C)->_target/*4*/))))&&((_a)==((void*)((/*RF2*/(C)->_arguments/*12*/))))){
  3494. R=((T0*)(C));
  3495. }
  3496. else{
  3497. {T142*n=((T142*)malloc(sizeof(*n))/*20*/);
  3498. *n=M142;
  3499. r142with(n,_t,(/*RF2*/(C)->_feature_name/*8*/),_a,_rf,a1);
  3500. R=((T0*)n);
  3501. }
  3502. }
  3503. /*FI]*/
  3504. return R;
  3505. }
  3506.  
  3507.  
  3508. T2 r142to_integer(T142* C){
  3509. T2 R=0;
  3510. {T68 se_tmp0;
  3511. r142error((*(se_tmp0=r142start_position(C),&se_tmp0)),((T0*)ms14_45441));
  3512. }
  3513. return R;
  3514. }
  3515.  
  3516.  
  3517. T6 r142is_static(T142* C){
  3518. T6 R=0;
  3519. T0* _rf=NULL;
  3520. T0* _running=NULL;
  3521. _running=(/*RF2*/((T50*)(/*SSFRF4*//*X334run_class*/r368run_class((T368*)((/*RF2*/(C)->_run_feature/*16*/)))))->_running/*9*/);
  3522. /*[IF*/
  3523. if(((_running)!=((void*)(NULL)))&&((r53count(((T53*)_running)))==(1))){
  3524. _rf=r50dynamic((T50*)(/*(IRF4.6first*/((/*RF2*/(((T53*)_running))->_storage/*0*/))[0]/*)*/),(/*RF2*/(C)->_run_feature/*16*/));
  3525. /*[IF*/
  3526. if(X334is_static(_rf)){
  3527. R=1;
  3528. }
  3529. /*FI]*/
  3530. }
  3531. /*FI]*/
  3532. return R;
  3533. }
  3534.  
  3535.  
  3536. void r142finalize(T142* C){
  3537. T0* _rf=NULL;
  3538. T0* _rc=NULL;
  3539. _rf=(/*RF2*/(C)->_run_feature/*16*/);
  3540. _rc=X52run_class(/*SSWARF2*//*X334current_type*/(/*RF2*/(((T368*)_rf))->_current_type/*8*/));
  3541. (/*SFN*/C->_run_feature)=r50dynamic((T50*)(/*(IRF4.6first*/((/*RF2*/((T53*)((/*RF2*/(((T50*)_rc))->_running/*9*/)))->_storage/*0*/))[0]/*)*/),_rf);
  3542. }
  3543.  
  3544.  
  3545. void r142error(T68 a1,T0* a2){
  3546. r66add_position(a1);
  3547. /*[IRF3.6append*/{T0* b1=a2;
  3548. r7append((T7*)(oBC66explanation),b1);
  3549. }/*]*/
  3550. r66print_as_error((T66*)(oBC13eh));
  3551. }
  3552.  
  3553.  
  3554. T0* r142result_type(T142* C){
  3555. T0* R=NULL;
  3556. T0* _tla=NULL;
  3557. R=X334result_type((/*RF2*/(C)->_run_feature/*16*/));
  3558. /*[IF*/
  3559. if(X52is_like_current(R)){
  3560. R=/*SSWARF2*//*X334current_type*/(/*RF2*/((T368*)((/*RF2*/(C)->_run_feature/*16*/)))->_current_type/*8*/);
  3561. }
  3562. else{
  3563. _tla=R;
  3564. if(NULL!=(_tla)){
  3565. switch(((T0*)_tla)->id){
  3566. case 257:
  3567. break;
  3568. default:
  3569. _tla=NULL;
  3570. }
  3571. }/*[IF*/
  3572. if((_tla)!=((void*)(NULL))){
  3573. R=X52run_type(X104result_type(r142arg1(C)));
  3574. }
  3575. /*FI]*/
  3576. }
  3577. /*FI]*/
  3578. return R;
  3579. }
  3580.  
  3581.  
  3582. T0* r142arg1(T142* C){
  3583. T0* R=NULL;
  3584. R=/*SSFRF4*//*X139first*//*(IRF4.3first*/(/*RF2*/((T139*)((/*RF2*/(C)->_arguments/*12*/)))->_first_one/*4*/)/*)*/;
  3585. return R;
  3586. }
  3587.  
  3588.  
  3589. T6 r142call_proc_call_stupid_switch(T142* C,T0* a1){
  3590. T6 R=0;
  3591. /*[IF*/
  3592. if(((/*RF2*/(C)->_arguments/*12*/))==((void*)(NULL))){
  3593. R=1;
  3594. }
  3595. else{
  3596. R=/*SSFRF4*//*X139stupid_switch*/r139stupid_switch((T139*)((/*RF2*/(C)->_arguments/*12*/)),a1);
  3597. }
  3598. /*FI]*/
  3599. /*[IF*/
  3600. if(R){
  3601. /*[IF*/
  3602. if(X104is_current((/*RF2*/(C)->_target/*4*/))){
  3603. /*[IF*/
  3604. if(r49same_base_feature((/*RF2*/(C)->_run_feature/*16*/),a1)){
  3605. R=(X334stupid_switch((/*RF2*/(C)->_run_feature/*16*/),a1))!=((void*)(NULL));
  3606. }
  3607. else{
  3608. R=0;
  3609. }
  3610. /*FI]*/
  3611. }
  3612. else{
  3613. R=X104stupid_switch((/*RF2*/(C)->_target/*4*/),a1);
  3614. }
  3615. /*FI]*/
  3616. }
  3617. /*FI]*/
  3618. return R;
  3619. }
  3620.  
  3621.  
  3622. T0* r142run_feature_for(T142* C,T0* a1,T0* a2){
  3623. T0* R=NULL;
  3624. T0* _bc=NULL;
  3625. T0* _rt=NULL;
  3626. T0* _rc=NULL;
  3627. _rt=X104result_type(a1);
  3628. /*[IF*/
  3629. if((_rt)!=((void*)(NULL))){
  3630. _rc=X52run_class(_rt);
  3631. /*[IF*/
  3632. if((_rc)!=((void*)(NULL))){
  3633. _bc=r50base_class(((T50*)_rc));
  3634. R=r51run_feature_for(((T51*)_bc),_rc,a1,(/*RF2*/(C)->_feature_name/*8*/),a2);
  3635. }
  3636. /*FI]*/
  3637. }
  3638. /*FI]*/
  3639. /*[IF*/
  3640. if((R)==((void*)(NULL))){
  3641. {T68 se_tmp0;
  3642. r66add_position((*(se_tmp0=X82start_position((/*RF2*/(C)->_feature_name/*8*/)),&se_tmp0)));
  3643. }
  3644. /*[IRF3.6append*/{T0* b1=((T0*)ms116_39025);
  3645. r7append((T7*)(oBC66explanation),b1);
  3646. }/*]*/
  3647. r66print_as_fatal_error((T66*)(oBC13eh));
  3648. }
  3649. /*FI]*/
  3650. return R;
  3651. }
  3652.  
  3653.  
  3654. T0* r142static_result_base_class(T142* C){
  3655. T0* R=NULL;
  3656. T0* _cn=NULL;
  3657. T0* _rt=NULL;
  3658. T0* _e_feature=NULL;
  3659. T0* _bc=NULL;
  3660. _bc=X104static_result_base_class((/*RF2*/(C)->_target/*4*/));
  3661. /*[IF*/
  3662. if((_bc)!=((void*)(NULL))){
  3663. _e_feature=r51e_feature(((T51*)_bc),(/*RF2*/(C)->_feature_name/*8*/));
  3664. /*[IF*/
  3665. if((_e_feature)!=((void*)(NULL))){
  3666. _rt=X90result_type(_e_feature);
  3667. /*[IF*/
  3668. if((_rt)!=((void*)(NULL))){
  3669. _cn=X52static_base_class_name(_rt);
  3670. /*[IF*/
  3671. if((_cn)!=((void*)(NULL))){
  3672. R=r61base_class(((T61*)_cn));
  3673. }
  3674. /*FI]*/
  3675. }
  3676. /*FI]*/
  3677. }
  3678. /*FI]*/
  3679. }
  3680. /*FI]*/
  3681. return R;
  3682. }
  3683.  
  3684.  
  3685. void r142make(T142* C,T0* a1,T0* a2,T0* a3){
  3686. (/*SFN*/C->_target)=a1;
  3687. (/*SFN*/C->_feature_name)=a2;
  3688. (/*SFN*/C->_arguments)=a3;
  3689. }
  3690.  
  3691.  
  3692. void r142fatal_error(T0* a1){
  3693. /*[IRF3.6append*/{T0* b1=a1;
  3694. r7append((T7*)(oBC66explanation),b1);
  3695. }/*]*/
  3696. r66print_as_fatal_error((T66*)(oBC13eh));
  3697. }
  3698.  
  3699.  
  3700. void r142assertion_check(T142* C,T3 a1){
  3701. /*[IF*/
  3702. if((a1)==(((T3)'R'))){
  3703. {T68 se_tmp0;
  3704. X334vape_check_from((/*RF2*/(C)->_run_feature/*16*/),(*(se_tmp0=r142start_position(C),&se_tmp0)));
  3705. }
  3706. }
  3707. /*FI]*/
  3708. X104assertion_check((/*RF2*/(C)->_target/*4*/),a1);
  3709. X104assertion_check(r142arg1(C),a1);
  3710. }
  3711.  
  3712.  
  3713. T6 r142stupid_switch(T142* C,T0* a1){
  3714. T6 R=0;
  3715. R=r142call_proc_call_stupid_switch(C,a1);
  3716. /*[IF*/
  3717. if(R){
  3718. R=!(X52is_native_array(r142result_type(C)));
  3719. }
  3720. /*FI]*/
  3721. return R;
  3722. }
  3723.  
  3724.  
  3725. T68 r142start_position(T142* C){
  3726. T68 R={NULL,0};
  3727. {T68 se_tmp0;
  3728. R=(*(se_tmp0=X82start_position((/*RF2*/(C)->_feature_name/*8*/)),&se_tmp0));
  3729. }
  3730. return R;
  3731. }
  3732.  
  3733.  
  3734. void r140compile_to_c_old(T140* C){
  3735. X104compile_to_c_old((/*RF2*/(C)->_target/*4*/));
  3736. /*[IF*/
  3737. /*AF*//*AE*/
  3738. /*FI]*/
  3739. }
  3740.  
  3741.  
  3742. T0* r140runnable_expression(T0* a1,T0* a2){
  3743. T0* R=NULL;
  3744. R=X104to_runnable(a1,a2);
  3745. /*[IF*/
  3746. if((R)==((void*)(NULL))){
  3747. {T68 se_tmp0;
  3748. r66add_position((*(se_tmp0=X104start_position(a1),&se_tmp0)));
  3749. }
  3750. r140fatal_error(((T0*)ms116_16290));
  3751. }
  3752. /*FI]*/
  3753. return R;
  3754. }
  3755.  
  3756.  
  3757. void r140run_feature_has_result(T140* C){
  3758. /*[IF*/
  3759. if((X334result_type((/*RF2*/(C)->_run_feature/*12*/)))==((void*)(NULL))){
  3760. {T68 se_tmp0;
  3761. r66add_position((*(se_tmp0=X334start_position((/*RF2*/(C)->_run_feature/*12*/)),&se_tmp0)));
  3762. }
  3763. {T68 se_tmp0;
  3764. r66add_position((*(se_tmp0=X82start_position((/*RF2*/(C)->_feature_name/*8*/)),&se_tmp0)));
  3765. }
  3766. r140fatal_error(((T0*)ms115_53215));
  3767. }
  3768. /*FI]*/
  3769. }
  3770.  
  3771.  
  3772. T2 r140static_value(T140* C){
  3773. T2 R=0;
  3774. T0* _rf=NULL;
  3775. T0* _running=NULL;
  3776. T0* _tb=NULL;
  3777. T0* _tt=NULL;
  3778. T0* _name=NULL;
  3779. _tt=X104result_type((/*RF2*/(C)->_target/*4*/));
  3780. _name=X82to_string(/*SSWARF2*//*X334name*/(/*RF2*/((T368*)((/*RF2*/(C)->_run_feature/*12*/)))->_name/*12*/));
  3781. /*[IF*/
  3782. if((((T0*)ms15_34432))==((void*)(_name))){
  3783. /*[IF*/
  3784. if(X52is_expanded(_tt)){
  3785. R=1;
  3786. }
  3787. /*FI]*/
  3788. }
  3789.  else if((((T0*)ms15_60104))==((void*)(_name))){
  3790. /*[IF*/
  3791. if(X52is_basic_eiffel_expanded(_tt)){
  3792. R=1;
  3793. }
  3794. /*FI]*/
  3795. }
  3796.  else if(((((T0*)ms15_2765a))==((void*)(_name)))&&(X52is_bit(_tt))){
  3797. _tb=_tt;
  3798. if(NULL!=(_tb)){
  3799. switch(((T0*)_tb)->id){
  3800. case 275:case 277:
  3801. break;
  3802. default:
  3803. _tb=NULL;
  3804. }
  3805. }R=X276nb(_tb);
  3806. }
  3807. else{
  3808. _running=(/*RF2*/((T50*)(/*SSFRF4*//*X334run_class*/r368run_class((T368*)((/*RF2*/(C)->_run_feature/*12*/)))))->_running/*9*/);
  3809. /*[IF*/
  3810. if(((_running)!=((void*)(NULL)))&&((r53count(((T53*)_running)))==(1))){
  3811. _rf=r50dynamic((T50*)(/*(IRF4.6first*/((/*RF2*/(((T53*)_running))->_storage/*0*/))[0]/*)*/),(/*RF2*/(C)->_run_feature/*12*/));
  3812. /*[IF*/
  3813. if(X334is_static(_rf)){
  3814. R=X334static_value_mem(_rf);
  3815. }
  3816. /*FI]*/
  3817. }
  3818. /*FI]*/
  3819. }
  3820. /*FI]*/
  3821. return R;
  3822. }
  3823.  
  3824.  
  3825. void r140run_feature_match(T140* C){
  3826. r140run_feature_has_result(C);
  3827. /*[IF*/
  3828. if((X334arguments((/*RF2*/(C)->_run_feature/*12*/)))!=((void*)(NULL))){
  3829. {T68 se_tmp0;
  3830. r66add_position((*(se_tmp0=X82start_position((/*RF2*/(C)->_feature_name/*8*/)),&se_tmp0)));
  3831. }
  3832. {T68 se_tmp0;
  3833. r66add_position((*(se_tmp0=X334start_position((/*RF2*/(C)->_run_feature/*12*/)),&se_tmp0)));
  3834. }
  3835. r140fatal_error(((T0*)ms132_50092));
  3836. }
  3837. /*FI]*/
  3838. }
  3839.  
  3840.  
  3841. T0* r140add_comment(T140* C,T0* a1){
  3842. T0* R=NULL;
  3843. /*[IF*/
  3844. if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r44count(((T44*)((/*RF2*/(((T81*)a1))->_list/*8*/))))/*)*/)==(0))){
  3845. R=((T0*)(C));
  3846. }
  3847. else{
  3848. {T229*n=((T229*)malloc(sizeof(*n))/*12*/);
  3849. *n=M229;
  3850. r229make(n,(T0*)C,a1);
  3851. R=((T0*)n);
  3852. }
  3853. }
  3854. /*FI]*/
  3855. return R;
  3856. }
  3857.  
  3858.  
  3859. void r140with(T140* C,T0* a1,T0* a2,T0* a3){
  3860. (/*SFN*/C->_target)=a1;
  3861. (/*SFN*/C->_feature_name)=a2;
  3862. (/*SFN*/C->_run_feature)=a3;
  3863. r140run_feature_match(C);
  3864. }
  3865.  
  3866.  
  3867. void r140mapping_c_target(T140* C,T0* a1){
  3868. T0* _actual_type=NULL;
  3869. T6 _flag=0;
  3870. _flag=r325call_invariant_start(a1);
  3871. _actual_type=X52run_type(r140result_type(C));
  3872. /*[IF*/
  3873. if(X52is_reference(_actual_type)){
  3874. /*[IF*/
  3875. if(X52is_reference(a1)){
  3876. X52mapping_cast(a1);
  3877. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3878. T3 b1=((T3)'\50');
  3879. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3880. }/*]*/
  3881. /*]*/
  3882. r140compile_to_c(C);
  3883. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3884. T3 b1=((T3)'\51');
  3885. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3886. }/*]*/
  3887. /*]*/
  3888. }
  3889. else{
  3890. r140compile_to_c(C);
  3891. }
  3892. /*FI]*/
  3893. }
  3894. else{
  3895. /*[IF*/
  3896. if(X52is_reference(a1)){
  3897. r140compile_to_c(C);
  3898. }
  3899. else{
  3900. /*[IF*/
  3901. if(X52need_c_struct(a1)){
  3902. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3903. T3 b1=((T3)'\46');
  3904. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3905. }/*]*/
  3906. /*]*/
  3907. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3908. T3 b1=((T3)'\50');
  3909. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3910. }/*]*/
  3911. /*]*/
  3912. r140compile_to_c(C);
  3913. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3914. T3 b1=((T3)'\51');
  3915. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3916. }/*]*/
  3917. /*]*/
  3918. }
  3919. else{
  3920. r140compile_to_c(C);
  3921. }
  3922. /*FI]*/
  3923. }
  3924. /*FI]*/
  3925. }
  3926. /*FI]*/
  3927. /*[IF*/
  3928. if(_flag){
  3929. /*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T48* C1=(T48*)(oBC325out_c);
  3930. T3 b1=((T3)'\51');
  3931. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3932. }/*]*/
  3933. /*]*/
  3934. }
  3935. /*FI]*/
  3936. }
  3937.  
  3938.  
  3939. void r140afd_check(T140* C){
  3940. T0* _running=NULL;
  3941. T0* _rc=NULL;
  3942. /*[IF*/
  3943. if(((/*RF2*/(C)->_run_feature/*12*/))!=((void*)(NULL))){
  3944. _rc=X52run_class(X104result_type((/*RF2*/(C)->_target/*4*/)));
  3945. _running=(/*RF2*/(((T50*)_rc))->_running/*9*/);
  3946. /*[IF*/
  3947. if((_running)==((void*)(NULL))){
  3948. }
  3949.  else if((r53count(((T53*)_running)))>(1)){
  3950. r351update((/*RF2*/(C)->_target/*4*/),(/*RF2*/(C)->_run_feature/*12*/));
  3951. }
  3952. /*FI]*/
  3953. }
  3954. /*FI]*/
  3955. X104afd_check((/*RF2*/(C)->_target/*4*/));
  3956. /*[IF*/
  3957. /*AF*//*AE*/
  3958. /*FI]*/
  3959. }
  3960.  
  3961.  
  3962. void r140c_declare_for_old(T140* C){
  3963. X104c_declare_for_old((/*RF2*/(C)->_target/*4*/));
  3964. /*[IF*/
  3965. /*AF*//*AE*/
  3966. /*FI]*/
  3967. }
  3968.  
  3969.  
  3970. void r140collect_c_tmp(T140* C){
  3971. /*[IF*/
  3972. if(((/*RF2*/(C)->_run_feature/*12*/))!=((void*)(NULL))){
  3973. X334collect_c_tmp((/*RF2*/(C)->_run_feature/*12*/));
  3974. }
  3975. /*FI]*/
  3976. X104collect_c_tmp((/*RF2*/(C)->_target/*4*/));
  3977. /*[IF*/
  3978. /*AF*//*AE*/
  3979. /*FI]*/
  3980. }
  3981.  
  3982.  
  3983. T6 r140use_current(T140* C){
  3984. T6 R=0;
  3985. /*[IF*/
  3986. /*AF*//*AE*/
  3987. /*FI]*/
  3988. /*[IF*/
  3989. if(R){
  3990. }
  3991.  else if(X104is_current((/*RF2*/(C)->_target/*4*/))){
  3992. R=X334use_current((/*RF2*/(C)->_run_feature/*12*/));
  3993. }
  3994. else{
  3995. R=X104use_current((/*RF2*/(C)->_target/*4*/));
  3996. }
  3997. /*FI]*/
  3998. return R;
  3999. }
  4000.  
  4001.  
  4002. T0* r140to_runnable(T140* C,T0* a1){
  4003. T0* R=NULL;
  4004. T0* _path=NULL;
  4005. T2 _line=0;
  4006. T0* _rf=NULL;
  4007. T0* _t=NULL;
  4008. {T68 se_tmp0;
  4009. _line=r68line(&((*(se_tmp0=X104start_position((/*RF2*/(C)->_target/*4*/)),&se_tmp0))));
  4010. }
  4011. {T68 se_tmp0;
  4012. _path=r68path(&((*(se_tmp0=X104start_position((/*RF2*/(C)->_target/*4*/)),&se_tmp0))));
  4013. }
  4014. _t=r140runnable_expression((/*RF2*/(C)->_target/*4*/),a1);
  4015. _rf=r140run_feature_for(C,_t,a1);
  4016. /*[IF*/
  4017. if(((/*RF2*/(C)->_run_feature/*12*/))==((void*)(NULL))){
  4018. (/*SFN*/C->_target)=_t;
  4019. (/*SFN*/C->_run_feature)=_rf;
  4020. r140run_feature_match(C);
  4021. R=((T0*)(C));
  4022. }
  4023.  else if((_t)==((void*)((/*RF2*/(C)->_target/*4*/)))){
  4024. R=((T0*)(C));
  4025. }
  4026. else{
  4027. {T140*n=((T140*)malloc(sizeof(*n))/*16*/);
  4028. *n=M140;
  4029. r140with(n,_t,(/*RF2*/(C)->_feature_name/*8*/),_rf);
  4030. R=((T0*)n);
  4031. }
  4032. }
  4033. /*FI]*/
  4034. return R;
  4035. }
  4036.  
  4037.  
  4038. T2 r140to_integer(T140* C){
  4039. T2 R=0;
  4040. T0* _rf1=NULL;
  4041. _rf1=(/*RF2*/(C)->_run_feature/*12*/);
  4042. if(NULL!=(_rf1)){
  4043. switch(((T0*)_rf1)->id){
  4044. case 388:
  4045. break;
  4046. default:
  4047. _rf1=NULL;
  4048. }
  4049. }/*[IF*/
  4050. if((_rf1)==((void*)(NULL))){
  4051. {T68 se_tmp0;
  4052. r140error((*(se_tmp0=r140start_position(C),&se_tmp0)),((T0*)ms14_45441));
  4053. }
  4054. }
  4055. else{
  4056. R=X104to_integer((/*RF2*/(((T388*)_rf1))->_value/*28*/));
  4057. }
  4058. /*FI]*/
  4059. return R;
  4060. }
  4061.  
  4062.  
  4063. T6 r140is_static(T140* C){
  4064. T6 R=0;
  4065. T0* _rf=NULL;
  4066. T0* _running=NULL;
  4067. T0* _tt=NULL;
  4068. T0* _name=NULL;
  4069. _tt=X104result_type((/*RF2*/(C)->_target/*4*/));
  4070. _name=X82to_string(/*SSWARF2*//*X334name*/(/*RF2*/((T368*)((/*RF2*/(C)->_run_feature/*12*/)))->_name/*12*/));
  4071. /*[IF*/
  4072. if((((T0*)ms15_34432))==((void*)(_name))){
  4073. R=1;
  4074. }
  4075.  else if((((T0*)ms15_60104))==((void*)(_name))){
  4076. R=1;
  4077. }
  4078.  else if(((((T0*)ms15_2765a))==((void*)(_name)))&&(X52is_bit(_tt))){
  4079. R=1;
  4080. }
  4081. else{
  4082. _running=(/*RF2*/((T50*)(/*SSFRF4*//*X334run_class*/r368run_class((T368*)((/*RF2*/(C)->_run_feature/*12*/)))))->_running/*9*/);
  4083. /*[IF*/
  4084. if(((_running)!=((void*)(NULL)))&&((r53count(((T53*)_running)))==(1))){
  4085. _rf=r50dynamic((T50*)(/*(IRF4.6first*/((/*RF2*/(((T53*)_running))->_storage/*0*/))[0]/*)*/),(/*RF2*/(C)->_run_feature/*12*/));
  4086. /*[IF*/
  4087. if(X334is_static(_rf)){
  4088. R=1;
  4089. }
  4090. /*FI]*/
  4091. }
  4092. /*FI]*/
  4093. }
  4094. /*FI]*/
  4095. return R;
  4096. }
  4097.  
  4098.  
  4099. void r140finalize(T140* C){
  4100. T0* _rf=NULL;
  4101. T0* _rc=NULL;
  4102. _rf=(/*RF2*/(C)->_run_feature/*12*/);
  4103. _rc=X52run_class(/*SSWARF2*//*X334current_type*/(/*RF2*/(((T368*)_rf))->_current_type/*8*/));
  4104. (/*SFN*/C->_run_feature)=r50dynamic((T50*)(/*(IRF4.6first*/((/*RF2*/((T53*)((/*RF2*/(((T50*)_rc))->_running/*9*/)))->_storage/*0*/))[0]/*)*/),_rf);
  4105. }
  4106.  
  4107.  
  4108. void r140error(T68 a1,T0* a2){
  4109. r66add_position(a1);
  4110. /*[IRF3.6append*/{T0* b1=a2;
  4111. r7append((T7*)(oBC66explanation),b1);
  4112. }/*]*/
  4113. r66print_as_error((T66*)(oBC13eh));
  4114. }
  4115.  
  4116.  
  4117. T0* r140result_type(T140* C){
  4118. T0* R=NULL;
  4119. R=X334result_type((/*RF2*/(C)->_run_feature/*12*/));
  4120. /*[IF*/
  4121. if(X52is_like_current(R)){
  4122. R=/*SSWARF2*//*X334current_type*/(/*RF2*/((T368*)((/*RF2*/(C)->_run_feature/*12*/)))->_current_type/*8*/);
  4123. }
  4124. /*FI]*/
  4125. return R;
  4126. }
  4127.  
  4128.  
  4129. T6 r140can_be_dropped(T140* C){
  4130. T6 R=0;
  4131. /*[IF*/
  4132. if(X104can_be_dropped((/*RF2*/(C)->_target/*4*/))){
  4133. R=X334can_be_dropped((/*RF2*/(C)->_run_feature/*12*/));
  4134. }
  4135. /*FI]*/
  4136. return R;
  4137. }
  4138.  
  4139.  
  4140. T6 r140call_proc_call_stupid_switch(T140* C,T0* a1){
  4141. T6 R=0;
  4142. /*[IF*/
  4143. {/*AT*/R=1;
  4144. }
  4145. /*FI]*/
  4146. /*[IF*/
  4147. if(R){
  4148. /*[IF*/
  4149. if(X104is_current((/*RF2*/(C)->_target/*4*/))){
  4150. /*[IF*/
  4151. if(r49same_base_feature((/*RF2*/(C)->_run_feature/*12*/),a1)){
  4152. R=(X334stupid_switch((/*RF2*/(C)->_run_feature/*12*/),a1))!=((void*)(NULL));
  4153. }
  4154. else{
  4155. R=0;
  4156. }
  4157. /*FI]*/
  4158. }
  4159. else{
  4160. R=X104stupid_switch((/*RF2*/(C)->_target/*4*/),a1);
  4161. }
  4162. /*FI]*/
  4163. }
  4164. /*FI]*/
  4165. return R;
  4166. }
  4167.  
  4168.